0
我在查找動態分配數組中數組元素的數量時遇到了問題。 如果我有一個正常的數組我知道如何找出多少元素在那裏:C中動態分配數組的數組元素數
int array[] = {1,2,3};
printf("Number of array elements: %i\n",(int)(sizeof(array)/sizeof((array)[0])));
此打印我:
Number of array elements: 3
但是,當我要動態分配一個數組,並知道其大小我無法以相同的方式得到它:
int * array;
array = malloc(3*sizeof(int));
printf("Number of array elements: %i\n",(int)(sizeof(array)/sizeof((array)[0])));
這總是給我:
Number of array elements: 2
無論多麼多麼大或小我做的分配總是打印
2
請有人可以幫忙嗎?