C语言结构体初始化教程
在
C语言结构体初始化
语法
struct structName varName = {fileldValue1, fileldValue2, fileldValue3};
参数
参数
描述
struct
结构体的关键字。
structName
结构体名。
varName
结构体变量名。
fileldValue1
结构体第一个字段对应的初始化值。
fileldValue2
结构体第二个字段对应的初始化值。
fileldValue3
结构体第三个字段对应的初始化值。
说明
我们分别使用了 fileldValue1 来初始化了结构体 varName 中的第一个字段的值,使用了 fileldValue2 来初始化了结构体 varName 中的第二个字段的值,fileldValue3 来初始化了结构体 varName 中的第三个字段的值。
使用这种方式初始化,我们只能按照顺序一个个的初始化结构体的成员。
C语言初始化结构体成员
语法
struct structName varName = {
.filed1 = value1,
.filed2 = value2,
.filed3 = value3
};
说明
我们分别使用了 value1 来初始化了结构体 varName 中的 filed1 字段,使用了 value2 来初始化了结构体 varName 中的 filed2 字段,value3 来初始化了结构体 varName 中的 filed3 字段。
使用这种方式初始化,我们可以按照任意的顺序初始化结构体的成员。
注意
使用这种方式初始化结构体成员使用的是 .filed1 = value1 的形式,且除了最后一个成员,其他的每一个成员的最后都要加一个逗号,即 ,。
最后一个成员不可以加逗号。
C语言初始化结构体成员
语法
struct structName varName = {
filed1 : value1,
filed2 : value2,
filed3 : value3
};
说明
我们分别使用了 value1 来初始化了结构体 varName 中的 filed1 字段,使用了 value2 来初始化了结构体 varName 中的 filed2 字段,value3 来初始化了结构体 varName 中的 filed3 字段。
使用这种方式初始化,我们可以按照任意的顺序初始化结构体的成员。
注意
使用这种方式初始化结构体成员使用的是 filed1 : value1 的形式,且除了最后一个成员,其他的每一个成员的最后都要加一个逗号,即 ,。
最后一个成员不可以加逗号。
案例
C语言顺序初始化结构体成员
顺序初始化结构体中的成员
#include
struct Car{
char *brand;
int price;
int maxSpeed;
};
void main(){
printf("嗨客网()\n\n");
struct Car car = {"Benz", 100000, 256};
char *brand = car.brand;
int price = car.price;
int maxSpeed = car.maxSpeed;
printf("Init Brand = %s, Price = %d, MaxSpeed = %d\n", brand, price, maxSpeed);
}
程序运行后,控制台输出如下图所示:
我们首先,定义了一个结构体 Car,该结构体有三个成员,即一个
接着,我们使用了顺序初始化的方式,初始化了结构体 car 的三个成员,即分别将结构体 car 的 brand 字段初始化为 “Benz”、结构体 car 的 price 字段初始化为 100000、结构体 car 的 maxSpeed 字段初始化为 256。
C语言乱序初始化结构体成员
乱序初始化结构体中的成员
#include
struct Car{
char *brand;
int price;
int maxSpeed;
};
void main(){
printf("嗨客网()\n\n");
struct Car car = {
.price = 900000,
.maxSpeed = 400,
.brand = "Benz"
};
char *brand = car.brand;
int price = car.price;
int maxSpeed = car.maxSpeed;
printf("Init Brand = %s, Price = %d, MaxSpeed = %d\n", brand, price, maxSpeed);
}
程序运行后,控制台输出如下图所示:
这次,我们在结构体里面,通过 “.FileldName” 的形式初始化了结构体的成员,使用这种方式初始化结构体的成员,不需要按照顺序,只需要在前面写上我们需要初始化的字段名即可。
最后,我们使用
C++风格结构体初始化
使用 C++ 风格来初始化结构体成员
#include
struct Car{
char *brand;
int price;
int maxSpeed;
};
void main(){
printf("嗨客网()\n\n");
struct Car car = {
price : 900000,
maxSpeed : 400,
brand : "Benz"
};
char *brand = car.brand;
int price = car.price;
int maxSpeed = car.maxSpeed;
printf("C++ Style Init Brand = %s, Price = %d, MaxSpeed = %d\n", brand, price, maxSpeed);
}
程序运行后,控制台输出如下图所示:
这次,我们使用了 C++ 风格来初始化了结构体的成员。
C语言结构体初始化总结
在 C 语言中,我们要初始化一个结构体,有三种方法,即,顺序初始化、乱序初始化和 C++ 风格的初始化。