c语言中,指针*位置应该放哪里?
最新推荐文章于 2025-06-22 15:45:10 发布
原创
最新推荐文章于 2025-06-22 15:45:10 发布
·
8.9k 阅读
·
9
·
15
·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
文章标签:
#语言
#c
#fun
#oo
c
专栏收录该内容
9 篇文章
订阅专栏
本文讨论了C/C++中指针声明的不同风格及其优缺点,包括OO风格、过程化风格和非常规风格,并分析了各种风格对代码可读性和维护性的影响。
摘要生成于
C知道
,由 DeepSeek-R1 满血版支持,
前往体验 >
从语法上来说,如下都对:
int* p; // OO Style, Type emphasis
int *p; // Procedural style, Expression emphasis
int * p; // Unconventional Style, No emphasis
结论:
我选择 int* p;
为什么:
缺点:
1 int* p, p1; 这种情况,会误以为p1为指针,实际上是int型。
int *p, *p1;这是支持这种写法的主要原因。
(1) 不建议一行定义多个变量。
(2) 可以写成int* p, * p1;
优点:
1 强调类型。
2 int* fun(); 比 int *fun(); 从视觉上,更容易看清楚返回的是指针类型。
特别是,从视觉上int (*fun_p)();区别更大一些。避免将函数指针,认为是返回指针的函数。
3 int const * p; 和const int* p;含义一样,
int* const p; 和 int * const p一样,
用const int* const p;写法,最兼容几种写法。
please read:
http://stackoverflow.com/questions/377164/whats-your-preferred-pointer-declaration-style-and-why