我的目标是读取文件并将其内容存储在 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
我不明白这种行为。有人可以向我解释一下吗。
非常感谢
沙恨沙