【C语言】typedef简介 您所在的位置:网站首页 c语言定义新类型 【C语言】typedef简介

【C语言】typedef简介

2023-03-09 13:04| 来源: 网络整理| 查看: 265

typedef与#define区别

typedef工具是一个高级数据特性,利用typedef可以为某一类型自定义名称。typedef与#define有点类似,但是两者也有三处不同。

typedef创建的符号名只受限于类型,不能用于值typedef由编译器解释,不是预处理器(我们平时经常说的编译预处理,其实包含了两步: 功能生成文件预处理, 展开头文件/宏替换/去掉注释/条件编译(test.i main .i)编译, 检查语法,生成汇编( test.s main .s) 在其受限范围内,typedef比#define更灵活,可移植性更高 typedef的工作原理

假设要用BITE表示一个字节的数组,只需像定义个char类型变量一样定义BYTE,然后在前面加上typedef关键字即可:

typedef unsigned char BYTE; //随后便可用BYTE来定义变量: BYTE x,y[10],*z;

为现有的类型创建一个名称简直多此一举,但是它有时确实非常有用。在前面的示例中,用BYTE代替unsigned char表明你打算用BYTE的变量表示数字字符,而不是字符码。

typedef与结构体

typedef还经常应用于结构体类型的命名

//用typedef来命名一个结构类型时,可以省略该结构的标签 typedef struct { double x; double y; }rect; rect r1 = {3.0,5.0}; rect r2 =; //假设用如上方式使用typedef定义类型名,以上代码将被翻译成: struct{ double x; double y; }s1 = {3.0,5.0}; struct{ double x; double y; }s2;

用typedef来命名结构体是不是显得更加简便,使用的时候可以直接用定义的类型名称定义变量。(nb的一批) 注意点:typedef并没有创建任何新的类型,它只是为某个已存在的类型增加了一个方便使用的标签。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有