永发信息网

C++声明了一个结构体数组,有什么办法可以获取这个数组的大小?

答案:5  悬赏:50  手机版
解决时间 2021-02-26 19:45
定义它的大小为200,但是里面的信息量没有200。怎样可以获取它的实际大小?
PS:是C++不是C
最佳答案
1.数组大小: sizeof(数组名)
2.结构大小: sizeof(结构类型名)
3.数组元素个数:sizeof(数组名)/sizeof(结构类型名)
如果数组中存放的数据不够最大数,
你得设一个变量,表示实际的多少,这是最起码的,而
不是在数组中判断,既费时又费事的。
全部回答
你想实现什么功能 ? 单纯的实现得到结构体数组实际大小的功能没有!!或者说没有方法可以实现,因为,计算机不知道数组中哪些是有效的数据。 根据你的结构内容和功能需求,可以想办法利用其中的元素来实现。
char b[200]; int n=strlen(b); n就是实际存在的字符串长度
这个没有现成的方法,只能你自己写一个函数进行判断。 除了字符数组外有strlen函数,其他没有。 举个简单的例子来说: int a[10]={0}; a这个整型数组,初始值全为0,假设赋值的过程中,不会出现0这个值, 这样你就可以自己写一个函数,对数组元素进行循环判断(看是否等于0),检测其实际赋值的元素个数。 扩展到结构体数组也一样,你要确定你有什么方法可以认为一个元素是赋值了还是没有赋值。
1、 你可以把这个数组做成一个 模版template、或者是一个 class, 写一个public函数,获得它的大小。 2、比如一个结构体 typedef struct YourStruct YS; // struct YourStruct为你定义的struct YS ys[100]; //结构体数组 ,有100个元素 int sz= sizeof(ys)/sizeof(YS); //即可计算有多少个元素
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
爱尚美甲美睫手足护理中心在什么地方啊,我要
国家为什么要收税?
巢湖学院-致知楼地址在哪,我要去那里办事
我家小狗六月份发的情,现在八月份,隔两个月又
“载人航天精神”的内容是什么?
沸羊羊涮锅在哪里啊,我有事要去这个地方
壹品私房菜在哪里啊,我有事要去这个地方
기다 려 야 사
请问桂林哪里有韩国烤肉吃?
灭火器压力指示器表盘都有灭火剂适用标识,其
农村信用合作社(漓江信用社)我想知道这个在什
精华液之后直接用防晒可以吗?
开头是 撒啦啦撒啦啦啦的是什么英文歌
现在魔兽世界还有人玩吗??
什么植物可以吸收空气中过多的水分?雨季来临,
推荐资讯
范思哲和李维斯哪个好点
虾胡闹这个地址在什么地方,我要处理点事
好优多购物中心在哪里啊,我有事要去这个地方
我的文竹下面叶子发黄怎么办?
软白塔为什么我买了好几家都是假的?????
男人胸部太大想练成小一点的胸肌怎么办
微信如何设置指纹 微信钱包指纹支付怎么设
电笔为什么放到负离子就会发光
全新爱丽舍有没有隔音棉和发动机护板
万代高达MG “七剑”为什么只有六把剑
童年期思维的基本特征在于()。A.逻辑思维迅速
2012年国家公务员计算机通信专业到底属于哪一
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?