C/C++中聲明指針變量時星號是靠近變量名還是靠近類型?


摘自<<C和指針>>3.23

 

int *a;

int* a;

兩者意思相同且后者看上去更為清楚:a被聲明為類型為 int* 的指針. 但是,這並不是一個好技巧,原因如下:

int* b, c, d;

人們很自然地以為這條語句把所有三個變量聲明為指向整形的指針, 但事實上並非如此. 我們被它的形式愚弄了. 星號實際上是表達式 *b 的一部分, 只對這個標識符有用. b 是一個指針, 但其余兩個變量只是普通的整形. 要聲明三個指針, 正確的語句如下:

int *b, *c, *d;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM