[解決済み] C言語での未宣言(この関数での初使用) [閉鎖]
2022-01-28 16:28:36
質問
検索でこれを入力すると、似たような"like"質問がいくつか出てきますね。しかし、私が見た中で重複していないものはすべて、C以外の他のソースからのものでした。 私は、明らかにヘッダーで宣言された構造を持っています。
struct Statistics //Super basic structure.
{
int mean;
int median;
int variance;
int grades;
int min;
int max;
};
これらの関数はすべて、構造体がなくても正常に動作しているため、構造体を使おうとしているのです。きれいにするためと、純粋に理解するためです。 私のエラーは次のようなものです。 'stats' 未定義 (この関数での最初の使用) この構造体が含まれる関数を呼び出すと
ここでエラーになりました。
display_grades_distribution(m, grades_scale,n, stats);
そこで質問ですが、この構造体が「未宣言」であること、あるいはプログラムの中で「最初に使われた」ことを、コンパイラはどのようにして知ることができるのでしょうか?
SNIPPET
void display_grades_distribution(int m, int grades_scale[11][m], int n,
struct Statistics stats[])
{
printf("Mean = %22f\n", stats[0].mean);
printf("Variance = %18f\n", stats[0].variance);
printf("Median = %20f\n", stats[0].median);
printf("min = %16d\n", stats[0].min);
printf("max = %16d\n", stats[0].max);
}
int main(void)
{
//-------------------------------------------
for(m = 0, m < num_assignments; m++)
{
struct Statistics stats[5];
stats[m].mean = calculate_mean(grades,n);
stats[m].median = calculate_median(grades,n);
stats[m].variance = calculate_mean(grades,n);
stats[m].min = calculate_min(grades,n);
stats[m].max = calculate_max(grades,n);
}
//-------------------------------------------
**display_grades_distribution(m, grades_scale,n, stats);** //This causes the error.
}
解決方法は?
struct Statistics stats[5];
は、ブロック内のローカル変数で
for
ステートメントの後に表示されません。
for
のループになります。
から取り出してください。
for
ステートメントを使用します。
int main(void)
{
struct Statistics stats[5];
//-------------------------------------------
for(m = 0, m < num_assignments; m++)
{
stats[m].mean = calculate_mean(grades,n);
stats[m].median = calculate_median(grades,n);
stats[m].variance = calculate_mean(grades,n);
stats[m].min = calculate_min(grades,n);
stats[m].max = calculate_max(grades,n);
}
//-------------------------------------------
display_grades_distribution(m, grades_scale,n, stats);
}
関連
-
[解決済み】変数の警告が設定されているが使用されていない
-
[解決済み】警告:互換性のないポインタ型からの代入
-
[解決済み】Makefile:1: ***セパレータがありません。停止します。
-
[解決済み] '{'トークンの前に期待される式
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】警告:式の結果が未使用の場合
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言
-
[解決済み] マクロで無意味なdo-while文やif-else文を使っているのはなぜですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】C言語の関数ポインタはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cコンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"
-
[解決済み】「ポインタから異なるサイズの整数へのキャスト」エラーが発生するのはなぜですか?
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】 strcpyとstrdupの比較
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み] テスト
-
[解決済み】Makefile:1: ***セパレータがありません。停止します。
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言