C语言基础知识:typedef关键字及其与#define的区别

本文介绍了C语言中的typedef关键字,包括它的作用、目的和四个主要用途,并探讨了typedef与#define的区别。通过具体例子展示了typedef在定义类型别名、处理复杂声明以及避免类型混淆方面的优势。

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://mp.csdn.net/postedit/83154590

 

1、typedef是什么?

typedef是C语言中一个关键字,作用是用来定义(或者叫重命名类型)

百度百科:typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。

C语言中的类型一共有2种:一种是编译器定义的原生类型(基础数据类型,如int、double之类的);第二种是用户自定义类型,不是语言自带的是程序员自己定义的(譬如数组类型、结构体类型、函数类型·····)。


2、使用typedef的目的?

【目的】有时候自定义类型太长了,用起来不方便,所以用typedef给它重命名一个短点的名字,可以省去一些代码重复劳动的麻烦,比如可以用函数指针pType代替typedef char * (*pType)(char*, const char*);,这样子就可以在下面通过typedef重定义的函数指针类型pType来定义一个新的函数指针了。

【注意】typedef是给类型重命名,也就是说typedef加工出来的都是类型,而不是变量。下面通过typedef来重定义一些类型

//函数指针
typedef char * (*pType)(char*, const char*);   //用函数指针pType作为一种类型代替这很长的语句
//注意pType书写的位置;是typedef char * (*pType)(char*, const char*); 而不是 typedef char * (*)(char*, const char*)  pType;  

//函数指针数组
typedef char * (*pType[5])(char*, const char*);

//函
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值