这就好比你一下子把全球人的姓名都显示在界面上,
普宁网站建设公司成都创新互联公司,普宁网站设计制作,有大型网站制作公司丰富经验。已为普宁数千家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的普宁做网站的公司定做!
就算不崩溃,用户也找不到自己需要的信息一样。
-----------------
在实际工程中,程序里一般不加载大量数据,
而是在有需求的时候,从数据库,或者文件中填充进去。
纯数组的长度是不可能获得的,C语言没有这样的机制,你可以在结构体里面加上一个变量表示data数组中元素的个数,在add函数(或者类似的)操作这个元素个数,增加了data元素就加1,否则减1,或者置为空,希望能帮到你
动态分配的数组可以自定义数组的长度,示例如下:
#include stdio.h
#include string.h
#include stdlib.h
int main()
{
printf("输入要分配的内存大小:");
int size;
scanf("%d", size); //输入自定义的数组长度
int *pstart = (int *)malloc(sizeof(int) *size);
if (pstart==0) {
printf("不能分配内存\n");
return 0;
}
memset(pstart, 0x00, sizeof(int) * size);
int inx;
for (inx=0; inx!=size; ++inx) pstart[inx] = inx;
for (inx=0; inx!=size; ++inx) printf("%d\t", pstart[inx]);
printf("\n");
return 0;
}
在自定义函数中,形式参数的int a[]被自动转换成int *a,a已经变成了指针,而指针的长度总是4,因此如果int的长度为2的话,sizeof(a)/sizeof(a[0])就是4/2,结果为2。
比如获取一个int类型数组的长度:
int example[20];
int ArrLength;
ArrLength = sizeof(example) / sizeof(int);
这样就行了。