【扩展知识】typedef的使用
扩展目录
1. typedef与#define不同处
2. typedef的使用
A:typedef与#define不同处
typedef是关键字,具有一种高级数据特性,它能够为已经存在的类型重新命别名(标签)。它的功能与#define相似,但有3个不同之处:(在《C语言第二回》中也有相关的知识点)
1. 与#define不同,typedef给出的符号仅限于类型,而不是绝对值
2. typedef的解释有编译器,而不是预处理器执行
3. 虽然它的范围有限,但在其受限的范围内。typedef比#define更灵活
B: typedef的使用
Typedef定义的作用域是取决于定义所在的位置。如果在函数内部,它的作用域是局部的;如果定义在函数外部,它将具有全局作用域。
//功能:显示typedef的定义位置决定其的作用域和不支持类型扩展
#include <stdio.h>
typedef int INT32; //给int命个别名
void print( INT32 num ) //使用int的别名
{
typedeffloat FLOAT32; //给float命个别名
printf("%d\n", num );
return;
}
int main( void )
{
intn= 10;
//类型扩展
unsignedINT32 number; //报错,typedef定义的别名不支持类型扩展
//使用float的别名
FLOAT32 score= 0.0; //报错!!unknown type name 'FLOAT32'
printf("打印n= " );
print(n );
printf("打印score= %f\n", score );
return0;
}
【指尖的微笑】错误在所难免,希望得到大家的指正^-^
转载时保留原文的链接http://codingit.howbbs.com和http://blog.csdn.net/mirrorsbeyourself
原文:http://blog.csdn.net/mirrorsbeyourself/article/details/41444277