c语言如何取数组元素个数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何取数组元素个数?相关的知识,希望对你有一定的参考价值。
1、C语言中,定义数组后可以用sizeof命令获得数组的长度(即可容纳元素个数)。但是通过传递数组名参数到子函数中,以获得数组长度是不可行的,因为在子函数当中,数组名会退化为一个指针。
2、例如:
length=sizeof(data)/sizeof(data[0]); //数组占内存总空间除以单个元素占内存空间大小,即等于元素个数
printf("length of data[4]=%d", length ); //输出length of data[4]=4 参考技术A 不能判断,因为C没有提供判断数组元素个数的功能。由于C不检查数组的边界,所以必须事先知道元素个数、所占字节数和元素类型三个要素中的两个才能确定另外一个,否则是无法判断的。比如有知道数组a[]占40个字节,又知道a[]是int型数组,那么元素个数就是40/sizeof(int)。其中sizeof(int)是用操作符sizeof来求得一个int类型所占字节数。 参考技术B 比如数组是int型,定义数组为int a[],则该数组的元素个数就是sizeof(a)/sizeof(int)本回答被提问者采纳 参考技术C length sizeof 都行,length获得的是数组的长度,数组长度比元素个数多1(比如a[10],他的长度是11),sizeof是数组字节数,字节数是数组长度乘以元素字节数。。。。。 参考技术D 貌似stdlib头文件里面的_countof()宏就可以可以做到……原理就是sizeof(a)/sizeof(a[0])
以上是关于c语言如何取数组元素个数?的主要内容,如果未能解决你的问题,请参考以下文章