C言語覚え書き
●コンパイル。
$ gcc -Wall -o hoge hoge.c
●終了ステータスの確認。
$ echo $?
●exit() 関数は
●文字列を格納する変数は char *hoge
char *hoge = "文字列" char hoge[10] = "fuga" //これはあまりよくないみたい //(※追記 上の例は文字列は immutable で、下の例では文字列は配列であり変更可能。)
関数の引数にする場合は [] をつける(なくてもコンパイルエラーにはならないみたい)。
void f(char *s[]) { printf("%s\n", s); }
●「conflicting types for 'func'」というエラーは、func 関数の定義の前にこの関数が使われているときに生じる。
関数定義の順番を変えるか、関数プロトタイプの宣言をしておく。
参考:関数プロトタイプ
●関数内で宣言した配列変数をreturnしてはいけない - Gobble up pudding
これ、もろにやっていました(その例)。return 時に配列のポインタアドレスが消えてしまうからなのだな。
●関数に配列を渡すときは、配列とその要素数の2つを渡さないといけない。
関数内で sizeof(ar) / sizeof(int) などどやってもダメ。
参考:g-ishihara.com - リソースおよび情報
●文字列の終端は '\0' だが、配列の終端というものはない。