声明指针变量时星号(*)应该靠近类型还是变量
时间:2010-06-19 来源:saltedLinux
为了使代码更加美观和易读,在C,C++中声明指针变量时应该将*靠近谁呢? 下面对这个问题进行深入分析。
曾经讨论过 #define type TYPE 和 typedef TYPE type; 的区别。具体来说就是#define PTR char* 和 typedef char* PTR;的区别。
此例中,我们用PTR类型来定义两个新的变量,格式如下: PTR val1,val2; 如果PTR是#define 而来,则该表达式变为char* val1, val2; 则只有val1是指针,val2是char型; 如果PTR是typedef而来,则 val1和val2都是指针类型。
由char* val1, val2;可知,在语义上,*是在变量身上而非类型身上,因此在书写时应当靠近变量。
相关阅读 更多 +