c语言如何对结构体某一成员初始化
2个回答
展开全部
有以下几种方法:
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.该种方式不是所有编译器都支持,当代码有跨平台需求时需谨慎使用。
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.该种方式不是所有编译器都支持,当代码有跨平台需求时需谨慎使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询