typedef

本文介绍了C语言中的typedef关键字,用于给类型创建别名,如uint64和uint32。通过对比typedef与#define的区别,强调typedef能赋予类型实际意义。文中通过示例展示了typedef如何定义指针类型,并解释了typedef在处理结构体定义时的便利性。

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

typedef

 

//typedef:类型定义,给类型起外号(别名)

 

typedef unsigned long long int uint64;//大小8字节 表示64位无符号整数

typedef unsigned long int uint32;==typedef unsigned int uint32;//大小4字节 表示32位无符号整数

 

一:

之前我们学过一个宏定义,#define

现在我们就来区别一下 #define 和 typedef 的区别

 

 

 

可以看到我们假设定义的指针i,j,k,l

我们再用二级指针a,b,c,d来分别接收他们;

可以看到只有二级指针d不能接收l

我们看一下l和i,j,k的区别:

                                      i是一级指针

 -----------------------------------------------------------------------------------

                                  j是一级指针

--------------------------------------------------------------------------

                     k是一级指针

--------------------------------------------------------------------------

 

我们可以看到l不是一级指针,是整形变量

我们看定义:

                                          l是整形变量

 

 

我们可以得出结论:

①:#define   只是字符替换       无实际意义

②:typedef   是给数据类型起别名 有实际意义

 

例如:

pint  i,j;    //typedef int * Pint;     相当于 int *i, int *j;

PINT  k,l;   //#define PINT int *     相当于 int *i,j;

 

 

 

二:

识别typedef:

①:删除typedef ,查看变量类型。

②:添加typedef ,将变量提升为这种数据类型

 

我们在定义结构体时可以使用typedef

 

等于

 

这样在定义结构体时合理使用typedef可以更简洁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值