linux C 结构体struct的定义和初始化

本文详细介绍了Linux C语言中结构体struct的定义方式,包括带名称和不带名称的结构体定义,以及结构体对象的声明。同时,文章讲解了结构体的初始化方法,包括按顺序初始化和乱序初始化,并强调了未初始化成员的默认值以及初始化顺序对成员赋值的影响。最后,文章提到了如何通过typedef创建自定义数据类型。
摘要由CSDN通过智能技术生成

struct 定义:

struct test
{
int a;
long b;
float c;
char d;
char e[];
}tt1,tt2;//对象声明列表紧跟struct定义
struct test tt3,tt4;//单独声明对象列表

//声明一个没结构体名字的结构体
struct
{
int a;
long b;
float c;
char d;
char e[3];
}tt1={2,3,3.2,'c',"tyu"},tt2={2,3,3.2};//必须顺序赋值,但可以不赋值所有成员

struct初始化:
1,//按顺序初始化
struct test  t1={1,2,1.23,'h',"gsdhf"};
2,//乱序
struct test t2=
{
.a=1,
.b=2,
.c=1.23,
.d='h',
.e="gsdhf"
};
注意:
1,如果存在部分成员没初始化,一般值是系统默认值。
2,如果即存在乱序又存在顺序初始化,顺序初始化始终紧跟上一个乱序成员,即该顺序赋值给上一个乱序成员的下一个成员。如:
    struct test tt=   
    {   
        .c = 18.90,                    
        .b=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值