重複の可能性:
mallocとsizeofに関する初心者の質問
文字列をプログラムに読み込もうとしています。文字列が破損していることに気付いたとき、次のコードを試しました。
void *mallocated = malloc(100);
printf("sizeof(mallocated) = %d\n", sizeof(mallocated));
私のプログラムによると、100バイトを割り当てたのに、のサイズはmallocated
でした。8
このため、8バイトより長い文字列を保存しようとすると、8バイト目以降がすべて消えてしまうことがあります。なぜこれが起こっているのですか、そしてどうすればそれを防ぐことができますか?