社区
C++ 语言
帖子详情
面試題目,大家進來瞧瞧,關于指針的
kabing
2010-03-23 11:48:57
int a[10];
int *p;
p=a;
a=p;
(char *)p=(char *)a;
++p;
(char **)p=(char **)a;
++p;
前四句是否有錯,后四句p得到的結果是什么?請高手指教下。
...全文
112
13
打赏
收藏
面試題目,大家進來瞧瞧,關于指針的
int a[10]; int *p; p=a; a=p; (char *)p=(char *)a; ++p; (char **)p=(char **)a; ++p; 前四句是否有錯,后四句p得到的結果是什么?請高手指教下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sheneven
2010-03-25
打赏
举报
回复
char *)p=(char *)a;
(char **)p=(char **)a;
怀疑等式左侧的强转是否能用?
还有,强转成二维指针。。。
即使程序不报错,谁知道能跳到什么地方?
我只见过(char**)&a这种东西
farawayspring
2010-03-23
打赏
举报
回复
[Quote=引用 9 楼 shineshineredstar 的回复:]
是这样的,
另外对指针类型强制转换后返回的是右值,也不能赋值。
如果是p是char*, ++p使p的原值加1,如果p是char**,++p使p的原值加4.
[/Quote]
为什么当p是char**时,++p会使p的原值加4呢?
ShineShineRedStar
2010-03-23
打赏
举报
回复
[Quote=引用 3 楼 demon__hunter 的回复:]
1 数组名是右值
2 指针在进行算术运算时,每增加offset时 指针要下移 offset*指针所指的类型 大小的字节。
[/Quote]
是这样的,
另外对指针类型强制转换后返回的是右值,也不能赋值。
如果是p是char*, ++p使p的原值加1,如果p是char**,++p使p的原值加4.
SiGoYi
2010-03-23
打赏
举报
回复
a=p;
(char *)p=(char *)a;
(char **)p=(char **)a;
在我这以上三句都编译不过,“a=p”太明显。
mbctb
2010-03-23
打赏
举报
回复
当然,那个“a=p”是个太明显的错误。难度和下面不是一个等级的。
mbctb
2010-03-23
打赏
举报
回复
我也认为这两个强制转换语句跟没转一样。不能改变p的指针类型,也不能改变它的值。这样,执行一个p++以后,p指向a[1],再执行一个p++以后,p指向a[2].
bitxinhai
2010-03-23
打赏
举报
回复
int a[10];
int *p;
p=a;
a=p;//数组名是常量指针,不允许更改值
cy330206
2010-03-23
打赏
举报
回复
[Quote=引用 3 楼 demon__hunter 的回复:]
1 数组名是右值
2 指针在进行算术运算时,每增加offset时 指针要下移 offset*指针所指的类型 大小的字节。
[/Quote]
楼主这个靠谱,,呵呵up
机智的呆呆
2010-03-23
打赏
举报
回复
1 数组名是右值
2 指针在进行算术运算时,每增加offset时 指针要下移 offset*指针所指的类型 大小的字节。
hai040
2010-03-23
打赏
举报
回复
这个强制转换跟没转一样
xiejijun_05
2010-03-23
打赏
举报
回复
很明显a=p有错。
wade_2003
2010-03-23
打赏
举报
回复
(char *)p=(char *)a;
(char **)p=(char **)a;
后面这两句也编译不过啊
ShineShineRedStar
2010-03-23
打赏
举报
回复
[Quote=引用 10 楼 farawayspring 的回复:]
引用 9 楼 shineshineredstar 的回复:
是这样的,
另外对指针类型强制转换后返回的是右值,也不能赋值。
如果是p是char*, ++p使p的原值加1,如果p是char**,++p使p的原值加4.
为什么当p是char**时,++p会使p的原值加4呢?
[/Quote]因为指针本身占4个字节。
一次bbs论坛迁移实录
80G数据库,100多G论坛附件、图片,因为内容审查方面的原因,在一天之类必须迁移,来
瞧瞧
我是如何化解! 在实际工作场景中,一次任务并不总是那么顺利,特别是在有压力的情况下。中间有障碍,然后有排除障碍...
腾讯实习生招聘笔试题目【附加链接】
题目不完整,欢迎大家补充。。。。。 先将就看下题目,围观一下,有些选项真的记不住了,有些慢慢补充,还有分析,me 表示有些鸭梨大。还是原来的思路,me 认为的正确答案标注为蓝色,me 选的答案,可能是错的,...
我在CSDN参与的3000个帖子
[急急急100分求教]高手进来
瞧瞧
,请教算法问题! 30: 【问】如何查找Zip包内部文件内容? 31: 回答问题被抗议,散分 32: 怎样求解一个四元方程组 33: ~~~~~~~~~~~~经典算法题,50分求答案 ...
一文带你入门C++类和对象【十万字详解,一篇足够了】
2、深度探究this指针的各种特性【原理分析】 3、this指针的感性理解 4、两道夺命面试题 this指针存放在哪里? this指针可以为空吗? 5、一道笔试题✍ 八、C和C++实现栈的对比 1、代码展示 2、C语言特性分析 C语言...
《那些年啊,那些事——一个程序员的奋斗史》五
因为那时候实例已经释放,直接是使用空指针来提领,能不出错吗? 找到问题的根源所在,似乎解决问题的方法也不难:不就是因为不知道当前的播放状态而导致的吗?自己增添一个变量,分别标示播放完毕以及播放...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章