私の目標は、ファイルを読み取り、オフセットと読み取るバイト数を指定して、その内容を char 配列に格納することです。同じことを行うための関数を作成しましたが、正常に動作します。
これで、この関数を別の場所から呼び出すことができます。したがってchar * data
、上記の関数によって返される内容を保持する変数を宣言しようとしています。宣言した後、メモリを割り当てようとしました。(読み取るバイト数を指定しているので、どれだけかはわかっています)。次のようになります。
char * data;
char * filename = "alphabet.txt";
int data_size = 10;
printf("data size: %d\n", data_size);
data = (char*) malloc (data_size);
printf("Size allocated to data: %d\n",sizeof(data));
return 0;
このコードは、次の出力を提供します。
data size: 10
Size allocated to data: 8
この振る舞いがわかりません。誰か説明してくれませんか。
どうもありがとう
しゃへんしゃ