首页 > 代码库 > 【扩展知识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.comhttp://blog.csdn.net/mirrorsbeyourself

【扩展知识6】typedef的使用