C言語なら俺に聞け(入門編)Part 66at TECH
C言語なら俺に聞け(入門編)Part 66 - 暇つぶし2ch234:デフォルトの名無しさん
10/06/18 22:01:57
>>233
関数・変数などの全ての識別子は、そのソースファイルにおいて最初に*使われる*までに
宣言されている必要がある。

例えば、以下のソースをコンパイルすると、そのメッセージがでる。
---ここから---
void foo() { x = 5; }
int x;
int main(void) { return 0; }
---ここまで---

1: error: ‘x’ undeclared (first use in this function)

これは1行めで変数xが*使われて*いるにも関わらず、この時点ではxの宣言がなされていないことを
意味する。
2行めのxの宣言を1行めより先に書けばエラーにならない。

---ここから---
int x;
void foo() { x = 5; }
int main(void) { return 0; }
---ここまで---

この場合は、xは同じファイルで定義されているが、別のファイルで定義されている場合も
宣言は必要。そのときは、以下のように書く。

extern int x;







次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch