c语言如何对结构体某一成员初始化

 我来答
tattackor
2015-10-29 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:876万
展开全部
有以下几种方法:
1 使用构造函数。
在C++中,struct可以当做类(class)来使用,同样支持成员函数,构造函数,析构函数。所以可以写对应的构造函数,实现自由初始化。

2 定义时,按照成员变量位置,写初始化列表。
如struct test中有成员int a, char b, 和float c,那么初始化一个变量可以写作
struct test t1 = {100, 'A', 1.23};
当初始化列表不全时,省略部分自动初始化为0,即
struct test t1 = {100, 'A'};

struct test t1 = {100, 'A', 0};
等效。

3 部分编译器支持显示成员变量初始化,如g++。

struct test t1 = {.b= 'A', .a=100};
没有涉及到的变量初始化为0.该种方式不是所有编译器都支持,当代码有跨平台需求时需谨慎使用。
yidetion
2012-12-27 · 超过19用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:49.1万
展开全部
结构体与类一样可以定义一个构造函数。
如下:
struct s{
s(){
a=0;
}
int a;
};
每次声明一个结构体变量时都会调用结构体的构造函数,在构造函数里面添加初始化语句就可以了
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式