社区
C++ 语言
帖子详情
c++中指针*号的位置
tendzzss
2010-11-17 10:51:00
int *a;是定义一个指针
int* a;也是
请问这2个有哪些却别呢
可不可以在所有使用int *的地方都使用int* 来代替(函数指针除外)
...全文
1292
26
打赏
收藏
c++中指针*号的位置
int *a;是定义一个指针 int* a;也是 请问这2个有哪些却别呢 可不可以在所有使用int *的地方都使用int* 来代替(函数指针除外)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
suhuaiqiang_janlay
2010-11-17
打赏
举报
回复
都可以啊。。。一样的意思,没有任何区别。
奔跑吧猴哥
2010-11-17
打赏
举报
回复
根据团队的规范来
zxzxghgh
2010-11-17
打赏
举报
回复
[Quote=引用 12 楼 wangjunsheng 的回复:]
对编译器而言
所有空格都被忽略
int *p;
int* p;
在 编译器眼里就是 int*p;
有人认为指针是类型的一部份,所以int* 写在一起,这是一种编程风格
这样声明多个变量时得多加注意
int* p1, p2;
p2 是个整数 而不是指向int的指针
typedef int* int_ptr;
int_ptr p1, p2;
这样 p1 p2 均为指针
[/Quote]
正解
keiichi0701
2010-11-17
打赏
举报
回复
应该没有什么区别吧
乃不知有汉
2010-11-17
打赏
举报
回复
对编译器而言
所有空格都被忽略
int *p;
int* p;
在 编译器眼里就是 int*p;
有人认为指针是类型的一部份,所以int* 写在一起,这是一种编程风格
这样声明多个变量时得多加注意
int* p1, p2;
p2 是个整数 而不是指向int的指针
typedef int* int_ptr;
int_ptr p1, p2;
这样 p1 p2 均为指针
qq120848369
2010-11-17
打赏
举报
回复
这个不叫习惯,这是错误。
kanguolaikanguolaik
2010-11-17
打赏
举报
回复
int* a;
int *a;
没有区别 习惯问题。
qq120848369
2010-11-17
打赏
举报
回复
int *a; 意思是a是指针变量.
int* a,意思就不明确了,要看上下文了.
失落的凡凡
2010-11-17
打赏
举报
回复
[Quote=引用 7 楼 wandoutoushu 的回复:]
补充下,这样还是有区别的,int *a,b; int* a,b;不过我一行之定义一个变量一般
[/Quote]
哥, 这样没区别。
Daveee
2010-11-17
打赏
举报
回复
补充下,这样还是有区别的,int *a,b; int* a,b;不过我一行之定义一个变量一般
tiannuosoft
2010-11-17
打赏
举报
回复
[Quote=引用 1 楼 luciferisnotsatan 的回复:]
都一样,没区别。
不过建议写成 int *a;
int* a, b; a是指针,b不是
int *a, *b 都是指针
[/Quote]
说的好!看个人习惯!
Daveee
2010-11-17
打赏
举报
回复
没区别,个人书写习惯,仅是美观问题
失落的凡凡
2010-11-17
打赏
举报
回复
int *a;
int* b;
int * c;
甚至
int*d;
都是可以的。*号前后有没有空格不重要,只是一个美观问题。我的建议是用第一种。因为有这样连续的定义时:
int *a, b;
我们能直观的了解到, a 是一个指针, b是一个int变量。
而
int* a, b;
容易让人误解 a,和b都是指针。
当然, 我更推荐一行只定义一个变量。
dengqibin
2010-11-17
打赏
举报
回复
说得对,看你的习惯了,一般都是int *a, *b;这种写法多[Quote=引用 1 楼 luciferisnotsatan 的回复:]
都一样,没区别。
不过建议写成 int *a;
int* a, b; a是指针,b不是
int *a, *b 都是指针
[/Quote]
elated
2010-11-17
打赏
举报
回复
语义是一样的,觉得还是写在变量名前面好点,看个人习惯了
luciferisnotsatan
2010-11-17
打赏
举报
回复
都一样,没区别。
不过建议写成 int *a;
int* a, b; a是指针,b不是
int *a, *b 都是指针
hukui161
2010-11-17
打赏
举报
回复
int *P 这样写好点,没有区别习惯而已。
Zeecool
2010-11-17
打赏
举报
回复
[Quote=引用 4 楼 milkylove 的回复:]
int *a;
int* b;
int * c;
甚至
int*d;
都是可以的。*号前后有没有空格不重要,只是一个美观问题。我的建议是用第一种。因为有这样连续的定义时:
int *a, b;
我们能直观的了解到, a 是一个指针, b是一个int变量。
而
int* a, b;
容易让人误解 a,和b都是指针。
当然, 我更推荐一行只定义一个变量。
[/Quote]
同意
FrankHB1989
2010-11-17
打赏
举报
回复
指针、数组和函数等构造类型及其实例的声明/定义的中缀语法是C最蛋疼的地方之一。词素和语序杂糅却没有带来中缀算术表达式那样明确方便的效果,反倒明显给人工编写解析器制造负担。(像Doxygen之类的,有些组合就没办法正确解析。)类型和实例无法经过空白符分隔而丧失了一些直观性,对于人类阅读者而言,要么效率降低,要么容易出错;对于程序而言增加了设计难度。作为对比,其它一些类C语言(如C#),就明确不采用int a[];这样的语法。
FrankHB1989
2010-11-17
打赏
举报
回复
[Quote=引用 11 楼 qq120848369 的回复:]
这个不叫习惯,这是错误。
[/Quote]
这种没有指出错误在哪里的说法才是错误。
无论是int* a;还是int *a;都是合法的声明,只要a不和当前命名空间中已经声明的其它类型对象重复。
int*,表示一个类型,这个类型是指向int类型实体的指针类型。在int *a;这种声明风格中,int表示的类型不是声明的对象的类型,而是构成对象类型的一部分。
int *的写法照顾C风格的指针声明。int *a, *b;相当于int* a;int *b;,而int *a, b;相当于int* a;int b;。如果能保证一行一个声明,那么建议写成int* a,这样意义更明确;除非是为了保持和旧代码风格一致。
当然,更蛋疼一点可以用int * a;这样的写法。
加载更多回复(6)
C/
C++
中
指针
的概念、操作及其应用详解
内容概要:本文详细介绍了C/
C++
中
指针
的概念、声明与初始化、通过
指针
访问变量的方法、
指针
与数组的关系、二级
指针
的概念及其应用。具体探讨了
指针
在动态内存分配、函数参数传递以及构建复杂数据结构等方面的作用。 适合人群:适用于希望深入理解和掌握C/
C++
指针
概念和用法的程序员和技术爱好者。 使用场景及目标:帮助初学者全面了解
指针
的工作原理,增强对内存管理的理解,提高实际编程技能,特别是在需要高效管理和操作内存的场景下。 阅读建议:本文从基本概念入手,逐步深入到高级应用,读者应循序渐进地理解每一个步骤,并尝试编写相关代码进行练习。此外,建议结合一些实际案例来巩固学习效果。
c-
c++
中
指针
学习的两个绝好例子.pdf
c-
c++
中
指针
学习的两个绝好例子.pdf
C,
C++
中
指针
问题详解
指针
是初学者必过的一关,看完这些,尤其是PPT和一些练习题,可以让你对
指针
有个比较形象的理解方式。希望对大家的学习有所帮助
DEV
C++
中
指针
所有集合
DEV
C++
中
指针
所有集合
C++
中
指针
和引用的区别
NULL 博文链接:https://songfantasy.iteye.com/blog/1084613
C++ 语言
65,171
社区成员
250,527
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章