第1个回答 2010-05-13
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int *array,n,i;
printf("输入数据个数:");
scanf("%d",&n);
array=(int*)calloc(n,sizeof(int)); //申请n个连续的空间
for(i=0;i<n;i++)
scanf("%d",array+i); //循环输入n次输入数据不管你怎么输 输完n个数自动跳出
printf("这个数组为:\n");
for(i=0;i<n;i++)
printf("%d\t",array[i]);
free(array); //不要忘记释放申请的空间 避免造成内存泄露
return 0;
}
第2个回答 2015-10-24
1、C语言中,定义数组后可以用sizeof命令获得数组的长度(即可容纳元素个数)。但是通过传递数组名参数到子函数中,以获得数组长度是不可行的,因为在子函数当中,数组名会退化为一个指针。
2、例如:
int data[4],length;
length=sizeof(data)/sizeof(data[0]); //数组占内存总空间除以单个元素占内存空间大小,即等于元素个数
printf("length of data[4]=%d", length ); //输出length of data[4]=4本回答被网友采纳