
c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数) 如: {int data[4];int length;length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小printf("length of data[4]=%d", length );
1、 你可以把这个数组做成一个 模版template、或者是一个 class, 写一个public函数,获得它的大小。
2、比如一个结构体 typedef struct YourStruct YS; // struct YourStruct为你定义的struct
YS ys[100]; //结构体数组 ,有100个元素
int sz= sizeof(ys)/sizeof(YS); //即可计算有多少个元素
当数组当作参数传递时,它就退化成指针了,要求数组长度的话,可以在main函数内部求得,如下修改就好啦!!!
#include <iostream>
using namespace std;
int main(){
void sort(int x);
int aa[]={1,3,2,0}, len;
len = sizeof(aa)/sizeof(int);
sort(aa);
return 0;
}
void sort(int x){
cout<<x<<endl;
}
可以在函数中借用sizeof运算符,来获取数组大小。
1
获取数组a整体占用空间可以使用
sizeof(a)
该值为这个数组占用的总内存值,单位为字节。
2
获取数组元素个数可以用
sizeof(a)/sizeof(a[0])
该值为数组开辟的元素个数。
以上就是关于如何获取一个数组的长度全部的内容,包括:如何获取一个数组的长度、C++声明了一个结构体数组,有什么办法可以获取这个数组的大小、怎么在函数中得到数组的长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)