C言語

char *str; sizeof(str)
sizeofの場合、sizeofはstrの大きさではなく、strのポインタ変数の大きさを返す。
つまり、strの大きさがどれほどだろうと、strを指し示す"ポインタ"の大きさを返すのである。

char *str; strlen(str);
strlenの場合、strの大きさを表す。

まとめ
char *str = "hello"; sizeof(str)
の場合、strを指し示すchar型のポインタ1バイトを返す。

char *str = "hello"; strlen(str);
の場合、strの大きさ5バイトを返す。
このエントリーをはてなブックマークに追加

改行の瞬間に全てが反映される

printf("hello"); ←表示されない
printf("\n"); ←ここでhelloと表示される
このエントリーをはてなブックマークに追加

printf();
perror();

の順でコードを書くと、printf()が呼び出すシステムコールでエラーコードが上書きされてしまう。よって

perror();
printf();

の順で書く
このエントリーをはてなブックマークに追加

↑このページのトップヘ