码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中typedef的解释_2

时间:2018-11-14 12:30:02      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:用途   用户表   指针   两个指针   标签   范围   区别   数据   文件   

typedef工具是一个高级数据特性。利用typedef可以为某一类型自定义一个新的名称。这样可以提高程序的可读性可移植性,向用户表明特定用途。

typedef没有创建任何新的类型,它只是为某个已存在的类型增加了一个方便使用的标签。

typedef通常用于给复杂的类型命名。---->增强了可读性

typedef来命名一个结构类型时,可以省略该结构的标签(标记)。

typedef和#define有一些功能上的重合,但是还是有区别的:

  如果:typedef char * STRING;

  则 STRING name, sign; 会被编译器解释成:char * name, * sign;  //意为两个指针;

  但是,如果这样假设: #define STRING char *

  然后声明如下: STRING name,sign;

  就会被翻译成: char *name, sign   //以为一个名为name的char类型指针,一个名为sign的char类型变量;

所以我们可以看到#define的本质,只是在预编译的时候进行字面的替换。

 

习惯上,typedef一般用全大写,这样可以告诉用户,这是typedef;

 

关于typedef的作用范围:

例如:typedef unsigned char BYTE;

该定义的作用范围取决于typedef定义所在的位置。如果定义在函数中,就具有局部作用域;

如果定义在函数外,就具有文件作用域。

 

最后总结:

C语言通过结构、联合、typedef,提供了有效处理数据的工具,和处理可移植数据的工具。

 

C语言中typedef的解释_2

标签:用途   用户表   指针   两个指针   标签   范围   区别   数据   文件   

原文地址:https://www.cnblogs.com/grooovvve/p/9956913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!