Chinaunix首页 | 论坛 | 博客
  • 博客访问: 242180
  • 博文数量: 95
  • 博客积分: 400
  • 博客等级: 一等列兵
  • 技术积分: 906
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 16:04
个人简介

人生意义在于积累,而不是日复一日的重复

文章分类

全部博文(95)

文章存档

2016年(2)

2015年(44)

2014年(35)

2011年(5)

2010年(9)

我的朋友

分类: C/C++

2010-11-10 10:50:21

define 和 typedef

typedef是一种高级数据特性,使您能够为某一类型创建您自己的名字,和define相似,但有3个不同之处:
1. 与define不同,typedef给出的符号名称仅限于对类型,而不是对值;
2. typedef的解释由编译器,而不是预处理器执行;
3. typedef在其范围内比define零活。

define实现不了的功能:
1. typedef char * STRING;
   STRING识别为一个char指针的标示符,如果没有typedef,将识别为一个char指针。
   STRING name,sign; <==> char *name,*sign;
   若为#define STRING char *,则STRING name,sign; <==> char *name,sign;
   typedef的一个优点是可以为经常出现的类型创建一个方便、可识别的名称。
2. typedef的名称被用于复杂的类型:
   typedef char (*FRPTC()) [5];
   把FRPTC声名为一个函数类型,该类型的函数返回一个指向含有5个元素的char数组的指针

注:typedef并不创建新的类型,它只是创建了便于使用的标签。
  
阅读(643) | 评论(0) | 转发(0) |
0

上一篇:C Tips (1)

下一篇:C Tips (5)

给主人留下些什么吧!~~