c++类的指针定义
2个回答
展开全部
intn=10;
int*p=&n;//不管是c还是c++这句都是对的
int*p=n;//不管是c还是c++这句都是错的!!!类型不匹配
在不同的地方*表示的含意是有区别的。
当*出现在类型定义时(类型之后的地方),如int*p;那这是告诉编译器变量p的类型为int类型的指针(int*),所以你还可以这样写int*p;或int*p;都是可以的。
而直接出现在变量后(不是定义时),就表示解引用.
int*p;
p=&n;
是先定义p为一个int型的指针,然后让p等于(指向)整型n的地址
而int*p=&n;变量p实际上是在定义的同时赋了初值,因此这里p前面的*是要和类型(也就是int)合起来看,表示p是一个int型的指针!此时,千万不要把*和p一起来看!
所以
int*p;//我有意把*写得和int靠拢一些:),强调int*是一种类型
p=&n;
和
int*p=&n;
是一回事
就好比:
inti;
i=n;
和
inti=n;
是一回事
而*p=*p+6;中p前面的*就是解引用符了
不要把概念搞混了啊,呵呵!
int*p=&n;//不管是c还是c++这句都是对的
int*p=n;//不管是c还是c++这句都是错的!!!类型不匹配
在不同的地方*表示的含意是有区别的。
当*出现在类型定义时(类型之后的地方),如int*p;那这是告诉编译器变量p的类型为int类型的指针(int*),所以你还可以这样写int*p;或int*p;都是可以的。
而直接出现在变量后(不是定义时),就表示解引用.
int*p;
p=&n;
是先定义p为一个int型的指针,然后让p等于(指向)整型n的地址
而int*p=&n;变量p实际上是在定义的同时赋了初值,因此这里p前面的*是要和类型(也就是int)合起来看,表示p是一个int型的指针!此时,千万不要把*和p一起来看!
所以
int*p;//我有意把*写得和int靠拢一些:),强调int*是一种类型
p=&n;
和
int*p=&n;
是一回事
就好比:
inti;
i=n;
和
inti=n;
是一回事
而*p=*p+6;中p前面的*就是解引用符了
不要把概念搞混了啊,呵呵!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询