我打算在动态数组上使用“ realloc”函数,而不是使用“ sizeof()”来确定其中有多少个元素,但我认为我在这里做错了什么:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int* tst = (int*)calloc(1,sizeof(int));
printf("%d",sizeof(tst));
int allocator = (sizeof(tst)/sizeof(int))+1;
printf("\t%d",allocator);
tst = realloc(tst,allocator*sizeof(int));
printf("\t%d",sizeof(tst));
return 0;
}
我希望输出:4 2 8
我得到的输出是:4 2 4