C言語なら俺に聞け! Part 75
レス数が950を超えています。1000を超えると書き込みができなくなります。
0970デフォルトの名無しさん
NGNGchar hoge[5];
char hoge2[5];
} Hoge;
Hoge hogehoge;
foo(&hogehoge);
/* 以下、fooの本体 */
void foo(Hoge *bar) {
int i = 123;
memset(bar, '\0', sizeof(bar));
printf("bar->hogeの値は[%s]です。", bar->hoge); /* 初期化されてない */
sprintf(bar->hoge, "%d", i); /* コピーされない */
printf("bar->hogeの値は[%s]です。", bar->hoge);
}
まず、以上のコードでは、Hoge型の変数hogeの内容は初期化されませんか?
sizeof(Hoge)
とすればよいのでしょうか?
(すいません。本来なら試してから質問するのが筋です。ですが今実行環境がありません)
次に(これが本当の疑問です)、
sprintfが反映されないのは何故でしょうか?
ご指導よろしくお願いします
レス数が950を超えています。1000を超えると書き込みができなくなります。