typedef int *p 是什么意思

类型定义 为什么可以用指针
typedef int *p
int a ;
p a;
有什么区别?

typedef是C/C++的一个关键字,其功能是定义一个新的自定义类型。形式为

typedef OLD_TYPE NEW_TYPE
也就是给OLD_TYPE起一个别名,起到简化代码的作用。

在这里,typedef int *p; 其实是
typedef int* p;
即int*是一体的,而p是新类型的名字。
在如此定义后,p就等同于int *的效果。

比如
p a,b,c;
就是定义了三个int*的变量,等同于int *a,*b,*c;
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-05
typedef int *p 意思是定义类型p为指向整形数据的指针类型。
int a ; 只是定义一个整型变量a。
p a;则是定义一个整型指针a。 与 int *a; 一样。追问

p a 和p *a 的区别呢?

追答

p a 和p *a 的区别也就是,int *a 与 int **a 的区别,你懂的!!

本回答被提问者采纳
第2个回答  2011-06-01
typedef是定义一种类型的别名
而define是一个变量的或常量的别名

第一定义 的是类型
第二个是变量
第三个 定义的是指针追问

p a 和p *a 的区别呢?

追答

上面那个已经说的很清楚了,p*a就是二级指针,也就是指向地址的地址。
p a就是一个一级指针。

第3个回答  2011-06-01
typedef int *p
的意思就是将 int * 定义成p,你以后就可以把p当做“int *”来使用了。追问

p a 和p *a 的区别呢?

第4个回答  2011-06-01
typedef int *p 看成typedef int * p 把int* 类型定义一个别名 p

int a 整型a

p a 看成 int * a 指针a追问

p a 和p *a 的区别呢?

追答

p a 和p *a 的区别呢?

p a 看成 int * a

p *a 看成 int* * a

追问

STDMETHODIMP CtestClassN::get_protety1(BSTR* pVal)
{
return S_OK;
}

STDMETHODIMP CtestClassN::put_protety1(BSTR newVal)
{
return S_OK;
}
那么 BSTR* pVal 和BSTR newVal 都是传的地址?

追答

恩 你只要知道 typedef 是定义 “类型” 别名

其他的就是复杂声明的问题了

相似回答