catch 发表于 2014-1-22 16:28:53

typedef #define 的不同

本帖最后由 catch 于 2014-1-22 16:34 编辑

typedef char *pStr1;
#define pStr2 char *;
pStr1 s1, s2;
pStr2 s3, s4;
在上述的变量定义中,s1、s2、s3都被定义为char *,而s4则定义成了char这是为什么?


第一句是 把 pStr1 定义为 char* 这个变量格式
第二句是 把 pStr2 替换为 char*
所以就很容易理解了
一个是类型定义
一个只是单纯替换
第二句= char *s3,s4;
所以 s4是char






洗脚水煮饺子 发表于 2014-1-23 10:32:23

其实我一直认为这两个东西是差不多的,,哈哈 我是学单片机开发的 我表示 用#define 用得更多,但是通常
我也会写
typdef struct A{
int a;
}Atyp;

Atyp Aa;
大部分都是这么用的

fishc_hz 发表于 2014-1-23 23:26:46

楼主正解,一个是类型定义,一个是简单替换

2004111 发表于 2014-1-27 10:46:06

路漫漫其修远兮,学习下

2004111 发表于 2014-1-27 10:46:45

路漫漫其修远兮,学习下

未闻丶花名 发表于 2014-2-8 20:39:50

路过看看 = =
页: [1]
查看完整版本: typedef #define 的不同