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

定义它的大小为200,但是里面的信息量没有200。怎样可以获取它的实际大小?PS:是C++不是C... 定义它的大小为200,但是里面的信息量没有200。怎样可以获取它的实际大小?
PS:是C++不是C
展开
 我来答
runforrestcz
2011-12-17 · TA获得超过461个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:170万
展开全部
1、 你可以把这个数组做成一个 模版template、或者是一个 class, 写一个public函数,获得它的大小。

2、比如一个结构体 typedef struct YourStruct YS; // struct YourStruct为你定义的struct
YS ys[100]; //结构体数组 ,有100个元素
int sz= sizeof(ys)/sizeof(YS); //即可计算有多少个元素
松甜恬0Je4ba
推荐于2016-11-08 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3469万
展开全部
这个没有现成的方法,只能你自己写一个函数进行判断。
除了字符数组外有strlen函数,其他没有。

举个简单的例子来说:
int a[10]={0};
a这个整型数组,初始值全为0,假设赋值的过程中,不会出现0这个值,
这样你就可以自己写一个函数,对数组元素进行循环判断(看是否等于0),检测其实际赋值的元素个数。

扩展到结构体数组也一样,你要确定你有什么方法可以认为一个元素是赋值了还是没有赋值。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ycsxm
2011-12-17 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:7971万
展开全部
1.数组大小: sizeof(数组名)
2.结构大小: sizeof(结构类型名)
3.数组元素个数:sizeof(数组名)/sizeof(结构类型名)
如果数组中存放的数据不够最大数,
你得设一个变量,表示实际的多少,这是最起码的,而
不是在数组中判断,既费时又费事的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2011-12-17 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6489万
展开全部
你想实现什么功能 ?
单纯的实现得到结构体数组实际大小的功能没有!!或者说没有方法可以实现,因为,计算机不知道数组中哪些是有效的数据。
根据你的结构内容和功能需求,可以想办法利用其中的元素来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友54c2389
2011-12-17 · TA获得超过182个赞
知道小有建树答主
回答量:214
采纳率:100%
帮助的人:135万
展开全部
char b[200];
int n=strlen(b);
n就是实际存在的字符串长度
追问
我的是结构体数组。也一样适用吗?
追答
只要是数组是没有问题的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式