指针里的*符号是要靠近变量类型还是要靠近变量名称?

指针里的*符号是要靠近变量类型还是要靠近变量名称?

在C语言中只要使用指针,必然用到*运算符。然后经常会看到不同的书中*有靠近变量类型的,有靠近变量名称的,很迷惑这两者有什么区别。后来上网查证了一下,总结如下:

总体来说,*靠近哪一个都可以,编译器都会认为是指针变量,所以本质是一样的。但是两个形式有不同的优点。

int* p;

这个可以理解为p是int类型的指针。而下面这个

int *p;

可以理解为有一个指针p是int类型,实际上也就是int类型的指针而已。

但是int* p这种类型当定义较多变量名称时,容易产生误解。例如:

int* p,q;

这句话的意思是p是int型指针变量,而q只是int类型变量。这种形式等价于

int *p,q; //即int *p,int q

因此,在这种情况下,可以将*靠近变量名称,而不是变量类型。如下:

int *p,q;

这样不会产生歧义。

当然,多分几行写就不存在这个问题了,当然可以。

相关推荐

揭秘莱西环球影城:梦幻之旅,尽享全球电影盛宴
365bet开户网站

揭秘莱西环球影城:梦幻之旅,尽享全球电影盛宴

📅 07-11 👁️ 4711
昶洧车型报价及图片
365bet开户网站

昶洧车型报价及图片

📅 07-07 👁️ 1420
众易贷怎么样靠谱吗?是正规贷款平台吗?
365bet体育投注地址

众易贷怎么样靠谱吗?是正规贷款平台吗?

📅 07-07 👁️ 1999
魅族手机怎么同步手机数据到云端
365bet开户网站

魅族手机怎么同步手机数据到云端

📅 07-24 👁️ 8196