c语言如何取数组元素个数?
6个回答
展开全部
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
展开全部
不能判断,因为C没有提供判断数组元素个数的功能。由于C不检查数组的边界,所以必须事先知道元素个数、所占字节数和元素类型三个要素中的两个才能确定另外一个,否则是无法判断的。比如有知道数组a[]占40个字节,又知道a[]是int型数组,那么元素个数就是40/sizeof(int)。其中sizeof(int)是用操作符sizeof来求得一个int类型所占字节数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
length sizeof 都行,length获得的是数组的长度,数组长度比元素个数多1(比如a[10],他的长度是11),sizeof是数组字节数,字节数是数组长度乘以元素字节数。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如数组是int型,定义数组为int a[],则该数组的元素个数就是sizeof(a)/sizeof(int)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似stdlib头文件里面的_countof()宏就可以可以做到……原理就是sizeof(a)/sizeof(a[0])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询