C语言 typedef别名的作用
typedef
C语言中,可以使用typedef关键词为C语言中其它的数据类型,包括自定义的结构体、共用体等取一个别名,而且通常情况下,会将该别名命名为大写字母组成的标识符,当然,也可以是小写字母,其语法如下:
typedef type newName;
别名的用法
使用别名来定义C语言的变量与使用其它内置的类型定义变量的用法是一样的,比如:
newName varName;
提示:使用别名定义的变量在编译器中编译的过程与其实际的名称的别无二致!别名只是提供了一个别称,方便程序员编程、阅读,其具体的作用,可参考实例代码后面的内容。
typedef实例代码
下方实例,将unsigned char定义为BYTE,且定义了一个BYTE类型的变量,然后sizeof()函数获取其大小,并以与unsigned char的进行比较,代码如下:
#include <stdio.h>
int main() {
typedef unsigned char BYTE;
BYTE x = '1';
unsigned char y = '1';
printf("%x\n",sizeof(x));
printf("%x\n",sizeof(y));
return 0;
}
编译运行后输出值:
1
1
typedef别名的作用
C语言中typedef为类型定义别名的作用可能不止如下这些,下面的这些仅供参考:
- typedef别名可以用于简化较为复杂的类型名称的书写,比如上面实例中,仅书写BYTE明显要比写unsigned char简单一些;
- typedef可以将类型定义为一个功能性更为明确的与项目结合更为紧密的名称,就像面向对象编程一样,这样可以提高代码的可读性和维护性;
- typedef别名可以提高代码的维护修改的效率可移植性,比如如果要修改unsigned char的类型该为char,只需要将typedef语句中的修改一下即可,而不必再去修改代码中其它的unsigned char(实际上为BYTE);
免责声明:内容仅供参考,不保证正确性!