c语言求数组长度length c语言怎么获取数组的长度?
c语言怎么获取数组的长度?
在C语言中,定义数组后,可以使用sizeof命令获取数组的长度(它可以容纳的元素数)
,例如:{int data[4]int length=sizeof(data)/sizeof(data[0])//数组占用的总内存空间除以单个元素printf占用的内存空间(”length)of data[4]=%d,length)//输出数据长度[4]=4}
但是,通过将array name参数传递给子函数来获取数组长度是不可行的。例如:
int getlength(int[]a){int length=sizeof(a)/sizeof(a[0])//这是错误的,结果总是1 return length}因为a是一个函数参数,在这个函数中,a只是一个指针(地址,系统不知道这个函数运行时地址a代表了多少数据存储空间,这里仅此而已告诉函数:一个数据存储空间(第一个地址)。因此,sizoef(a)的结果是内存中指针变量a的大小,在32位计算机上通常为4字节。[0]是int类型,sizeof(A[0])是4字节,因此结果总是1。
因此,要获得数组的长度,我们只能在数组定义所在的代码区域中使用上述方法。
c语言求数组长度length c语言数组长度怎么看 c数组的长度怎么获取
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。