C初始化问题

[复制链接]
1394|2
 楼主| xsgy123 发表于 2012-12-23 09:23 | 显示全部楼层 |阅读模式
struct Test{    int t;    int s;};
结构也可以这样初始化,
struct Test q = {1, 2};
但是肯定不能这样复制。只是c中这样初始化的原理是什么。感觉比较奇怪,之前也没有这样初始化过。
火箭球迷 发表于 2012-12-23 09:47 | 显示全部楼层
这是聚合类型初始化语句
dfsa 发表于 2012-12-23 09:50 | 显示全部楼层
可以结合c++ 类的初始化来理解。
结构体的默认访问属性为 public,即可以直接访问其中成员变量,所以可以采用这种初始化时直接指定成员的方式。
结构体的初始化有点类似数组的初始化,只不过数组中存的是同一类型的值罢了。
即在定义结构体时,分配结构体内存空间,然后根据声明结构体成员的顺序,然后把初始化式中的数据给放进去就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

229

主题

2603

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部