【扩展知识】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
时间: 2024-11-01 20:50:36