首页 > 代码库 > 【扩展知识6】typedef的使用
【扩展知识6】typedef的使用
【扩展知识】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
【扩展知识6】typedef的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。