| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 618 人关注过本帖
标题:还是指针和数组
只看楼主 加入收藏
慧子Victory
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-9-5
结帖率:40%
收藏
已结贴  问题点数:5 回复次数:8 
还是指针和数组
已有定义:int i,a[10],*p;则合法的赋值语句是:()
A P=100;     B P=a[5];    C P=a[2]+2     D P=a+2
 我的理解:
A:  P为一个指针变量,A就不对了,不能将一个数值赋值给一个指针变量;
B:  将指针P指向数组中下标为5的元素,正确;
C:  将指针P指向数组中下表为2的元素,然后再加2???这个不明白;
D: 将指针P指向数组中下标为2的元素,正确,我认为a+2代表数组中下标为2的元素;
综上所述,我理解的答案是B 和 D,C 和 D的理解不能确定!
谁知道这种怎么理解,指针是我的痛处啊!!
搜索更多相关主题的帖子: 元素 
2011-09-07 15:41
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
收藏
得分:0 
A:错的
B:p=&a[5]
C:同上
D:对的,a+2就是a[2]的地址。
2011-09-07 16:50
statics
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:163
专家分:625
注 册:2011-8-29
收藏
得分:0 
理论上都是对的,因为指针不过也是一个4位的整型值

惟我独行...
2011-09-07 18:17
statics
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:163
专家分:625
注 册:2011-8-29
收藏
得分:0 
4字节

惟我独行...
2011-09-07 18:30
nonomeiyou
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2011-4-7
收藏
得分:0 
回复 3楼 statics
对的?你去试试把 int *p;p赋值1,2,3,4,5,..去看看行不行。
2011-09-07 21:50
nonomeiyou
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2011-4-7
收藏
得分:0 
回复 3楼 statics
C语言规定,不同类型的 不能互相赋值。必须进行转换:强转或隐式转换。INT的整数是不能赋值给指针变量的。除了0.
2011-09-07 21:53
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
指针本质上就是一个32位长的无符号整数值而已,你可以把数值强制转换成指针。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-09-07 22:01
leech58
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:18
专家分:58
注 册:2011-8-29
收藏
得分:5 
B:a[5] 是a数组中的第六个元素 是一个int 不是指针
C:同B
D:a是指针  +2 表示便宜两个单位(为int 4个字节)
  所以正确答案为D

诚心交流!
2011-09-07 22:05
lvduan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-9-7
收藏
得分:0 
D是对的,我上指针课睡着了,刚好我醒了老师讲了这一点
2011-09-08 14:30
快速回复:还是指针和数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018413 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved