相同的文件,相同的文件大小但两种不同的内存大小,为什么?

时间:2011-10-25 13:36:06

标签: c file-io

FILE *fp;

short *originalUnPacked;
short *unPacked;

int fileSize;

fp = fopen(FILENAME, "r");
fseek (fp , 0 , SEEK_END);
fileSize = ftell (fp);
rewind (fp);

originalUnPacked = (short*) malloc (sizeof(char)*fileSize);
unPacked = (short*) malloc (sizeof(char)*fileSize);

printf ( "The UnPacked  : %d ", unPacked);
printf ( "The Original UnPacked  : %d ", originalUnPacked);

//上面的print语句打印出两个不同的值,我的问题是为什么?

1 个答案:

答案 0 :(得分:0)

我认为你不应该将短*传递给printf。它期待一个简单的简短,对吧?

如果你打印一个短*,你没有得到大小,你就得到了那个记忆所在的地址。