结构体:typedef struct 和 struct

本文详细介绍了 C++ 中结构体(struct)的声明与使用方法,包括结构体的基本语法、结构体变量的定义与初始化过程,并对比了使用 typedef 的简化语法。

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

1、struct
1)、结构声明:

struct Student
{
    int num;
    char name[20];
};

上面这段代码只是声明了一个由一个int型变量,和一个char型数组构成的结构,并没有创造一个实际的数据对象;

注意:我看到其他博客上说在C语言中这种声明方式会报错,必须有typedef才行,只有C++才能这么声明,但是我在C Primer看到就是这么声明结构的,并且在VS上得到证实不会报错,不知道其他博客上说的是什么意思。

2)、定义结构变量:

struct Student stu; //声明了一个名叫 stu 的结构变量

3)、可以把上面两步合起来写成:

struct Student
{
    int num;
    char name[20];
}stu;

此时,stu是一个结构变量,可以直接使用,如给该变量赋值:

stu.num=1002;

4)、也可以把声明结构的过程和定义结构变量的过程合并成一步写成:


struct
{
    int num;
    char name[20];
}stu;

即省略了标记“Student”, 这样该结构就不能重复使用了,此时的stu也是一个结构变量。

2、typedef struct
1)、声明:

typedef struct Student
{
    int num;
    char name[20];
}student;

此时,用 student 代替 struct Student 作为简写,student==struct Student, stu不是结构变量,可以用stu声明结构变量:

student stu;
struct Student stu; 

以上两句语句完全等价,stu是一个结构变量,可以直接使用了。

3、初始化结构体:

struct Stuedent stu={"xiaoqiang",1002};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值