8.3结构体变量、指针、数组的定义

本文介绍了C/C++中四种定义结构体的方式:直接定义、匿名结构体、先声明后定义以及使用typedef重命名。详细讲解了每种方法的用法和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明好结构体以后,就可以像用int、char等基本数据类型一样去定义结构体变量、指针和数组

有以下4种定义方式:

①紧跟在结构体类型声明之后进行定义

struct student
{
    char name[20];
    int age;
    double score;
}std1; *pstd=&std1, stds[3];

此处在声明student结构体类型的同时定义了结构体变量std1、结构体指针pstd和具有3个结构体元素的数组stds 

②在声明一个无名结构体类型的同时,直接进行定义 

struct  //省略了结构体名称,是一次性的
{
    ……
}std1, *pstd=&std1, stds[10];

这种方式与第一种方式的区别仅在于省略了结构体名称,可以称为匿名结构体通常用于不需要再次定义此结构体变量的情况 

③先声明结构体类型,再单独定义变量 

struct student
{
    ……
};
student std1, *pstd=&std1, stds[10];

④声明一个结构体类型的同时,使用typedef给结构体声明一个新的名称 

typedef struct  //此处省略了结构体名称
{
    ……
}STR;
STR std 1, *pstd=&std1, stds[10];

或者在声明完结构体student后,再用typedef重新声明一个新类型名

例如:typedef student STR;

此处STR是一个具体的结构体类型名,可以用它来定义结构体变量,如同使用int、char一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值