C语言(结构体、枚举、typedef)笔记 by STP

本文介绍C语言中结构体(struct)与枚举(enum)的基本使用方法,并对比了typedef与#define的不同之处。

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

1.结构体 struct

格式:

struct Student{
    char *name;
    int age;
    float height;
};

struct Student s;//定义一个结构体变量
//给结构体成员赋值
s.name="kristy";
s.age=22;
s.height=1.63;

可连写并省略结构体名

struct {
    char *name;
    int age;
    float height;
} s;


2.枚举 enum

格式:

enum Season{spring,summer,autumn,winter};

enum Season s;//定义一个枚举变量

可连写并省略枚举名

<span style="font-size:18px;">enum {spring,summer,autumn,winter} s;</span>



3.typedef 

作用:为各种数据类型起别名,可使代码变得简洁。


typedef与#define的区别

1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。

2)typedef是在编译时处理的。它在自己的作用域内给一个已经存在的类型一个别名。
3)#define后面无需写“;” typedef需要写“;”

<span style="font-size:18px;">#define String1 char * // </span><span style="font-size:14px;">遇到String1 替换为 char *</span><span style="font-size:18px;">

typedef char *String2;//  </span><span style="font-size:14px;">用String2 <span style="font-family: Arial, Helvetica, sans-serif;">表示char  *</span></span><span style="font-size:18px;">
</span><span style="font-size:18px;">


int main(int argc, const char * argv[]) {
    String1 str1, str2;
    
    String2 str3, str4;
    return 0;
}</span>

str1,str3,str4为指针变量,str2为char类型变量






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值