可能重复:
如何获取动态分配的二维数组的大小
我在这里找不到我做错了什么。我想创建一个其大小基于用户输入的数组,从用户输入中获取数组的数据(整数),然后打印数组整数。
问题是它只打印第一个数组元素,即intArr[0]
.
int main()
{
int i, n, *intArr;
printf("Type the array size:\t");
scanf("%d", &n);
intArr = (int *)malloc(n * sizeof(int));
for (i = 0; i < n; ++i)
{
printf("Type a number\t");
scanf("%d", intArr + i);
}
printArr(intArr);
}
void printArr(int *arr)
{
int i;
for (i = 0; i < (sizeof(arr) / sizeof(*arr)); ++i)
printf("%d ", *(arr + i));
}