typedef int * q与#define p int*区别

来源:互联网 发布:批量word转pdf windows 编辑:程序博客网 时间:2024/06/05 02:02

#define  预处理指令,在编译预处理时进行简单的替换

typedef   在编译时处理,他在自己的作用域内给一个已经存在的类型的别名


typedef  int * q与#define p int*

作用都是用q或p代替int*,但是正如前面所说,#define只是进行简单的替换,而typedef是采用如同定义变量的一种方法来声明一种类型

也就是说:

#define p int*   

p a,b;

相当于int *a,b;(a为int l类型的指针,b为一个int类型的变量)

const p a;  相当于(const int*) a----------a的值可改,但是a指向的内容不可改


typedef  int *q

q a,b;

相当于int *a,int*b(a,b都为指向int类型的变量)

const q a;相当于const int *a(==int *const a)------------a的值不可改,但a指向的内容可改

原创粉丝点击