c语言如何对结构体某一成员初始化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何对结构体某一成员初始化相关的知识,希望对你有一定的参考价值。
结构体与类一样可以定义一个构造函数。如下:
struct s
s()
a=0;
int a;
;
每次声明一个结构体变量时都会调用结构体的构造函数,在构造函数里面添加初始化语句就可以了来自:求助得到的回答 参考技术A 有以下几种方法:
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.该种方式不是所有编译器都支持,当代码有跨平台需求时需谨慎使用。
以上是关于c语言如何对结构体某一成员初始化的主要内容,如果未能解决你的问题,请参考以下文章