typedef和#define的简单比较
2016-05-11 10:08
239 查看
1.通常说typedef比#define要好,尤其在有指针的情况下
typedef char* pStr1;
#define pStr2 char*
pStr1 s1,s2;
pStr2 s3,s4;
在上述的变量定义中,s1、s2、s3都被定义为char *,而s4则定义成了char,不是我们所预期的指针变量,根本原因就在于#define只是简单的字符串替换而typedef则是为一个类型起新名字。
2. typedef与结构结合使用
typedef struct tagMyStruct
{
int iNum;
long lLength
}MyStruct;
在这里其实就是让'struct tagMyStruct'等于'Mystruct'
3.
typedef struct LnkNode
{
struct MEM *pmen;
struct LinkNode *pNext;
}node, *PNODE;
PNODE phead; //phead就是指向结构体LinkNode的指针变量(地址)。
typedef char* pStr1;
#define pStr2 char*
pStr1 s1,s2;
pStr2 s3,s4;
在上述的变量定义中,s1、s2、s3都被定义为char *,而s4则定义成了char,不是我们所预期的指针变量,根本原因就在于#define只是简单的字符串替换而typedef则是为一个类型起新名字。
2. typedef与结构结合使用
typedef struct tagMyStruct
{
int iNum;
long lLength
}MyStruct;
在这里其实就是让'struct tagMyStruct'等于'Mystruct'
3.
typedef struct LnkNode
{
struct MEM *pmen;
struct LinkNode *pNext;
}node, *PNODE;
PNODE phead; //phead就是指向结构体LinkNode的指针变量(地址)。
相关文章推荐
- js读取并解析excel文件,之后上传json到服务器
- 机器学习进行中
- 添加pch文件
- 周围区域问题
- 加监听器,单选复选按钮
- C语言变量的作用范围
- (译)java NIO 示例代码
- c语言宏定义详解
- Windows自动弹出MSN中文网界面解决办法
- 最佳java学习路线
- Mybatis拦截器机制以及Mybatis物理分页操作指南
- setValue:forUndefinedKey
- socket编程浅谈
- 自定义复选框、单选按钮外观方法。支持IE、Firefox、chrome
- OpenGL、OpenGL ES、OpenVG、GLX、EGL简介
- 交叉编译busybox
- Kafka的NIO通信机制
- JAVA字符串操作
- JAVA文本框和文本域
- bootstrap 简单教程