Chinaunix首页 | 论坛 | 博客
  • 博客访问: 251650
  • 博文数量: 88
  • 博客积分: 1429
  • 博客等级:
  • 技术积分: 523
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-18 15:31
文章分类

全部博文(88)

文章存档

2017年(2)

2016年(24)

2013年(1)

2012年(24)

2011年(15)

2010年(22)

我的朋友

分类: C/C++

2010-11-09 14:10:10

一、typedef
typedef用来:为现有类型取别名、声明新的数据类型,简化代码。
typedef 旧类型 新类型;
1)取别名
typedef int INT32;    //注意,要加';',define则不要

2)声明新的数据类型

typedef struct
{
    int month;
    int day;
    int year;
}DATE;

3)简化代码

typedef int NUM[10]; //声明NUM为整形数组类型
NUM n;
//等价于n[10]

typedef char *STRING; //声明STRING为字符指针
STRING s1, s2;
//等价于char *s1, *s2

typedef int (*POINTER)(); //声明POINTER为指向函数的指针类型,该函数返回整型值
POINTER p1, p2; //p1、p2为POINTER类型的指针变量

typedef int (*POINTER)(); 经常用来声明回调函数。


二、define
#define 替换的字符串 被替换的字符串  //注意,后面不用加分号
 

[说明]
1)#define:是在预编译的时候,进行简单的字符串替换;
   typedef:是在编译的时候进行处理,不是简单的替换。

2)typedef不能用来定义变量;
3)typedef有得于程序的通用与移植

阅读(574) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~