|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 二维数组名
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
385
人关注过本帖
标题:
二维数组名
只看楼主
加入收藏
gao_guai
等 级:
论坛游民
帖 子:73
专家分:16
注 册:2011-6-5
楼主
收藏
问题点数:0 回复次数:6
二维数组名
#include<stdio.h>
void main()
{
int a[2][3]={1,2,3,4,5,6},*p;
for(
p=a
;p<=&a[1][2];p++)
printf("%d",*p);
}
为什么是p=a;不应该是p=a[0]么?为什么还能通过编译运行出来结果呢。
2012-06-02 10:13
举报帖子
使用道具
赠送鲜花
爱闹的娃
等 级:
蝙蝠侠
威 望:
3
帖 子:265
专家分:975
注 册:2011-10-23
第
2
楼
收藏
得分:0
指针和数组那一章节你没有仔细看么???数组名就是该数组的首地址.....
2012-06-02 10:19
举报帖子
使用道具
赠送鲜花
sdy不懂
等 级:
新手上路
帖 子:19
专家分:1
注 册:2012-2-22
第
3
楼
收藏
得分:0
p在这里是地址,而a在这里表示地址。p=a的意思是说把a的地址赋给a。
我是新人,纯属个人理解。不对,望谅解。
2012-06-02 10:22
举报帖子
使用道具
赠送鲜花
gao_guai
等 级:
论坛游民
帖 子:73
专家分:16
注 册:2011-6-5
第
4
楼
收藏
得分:0
回复 2楼 爱闹的娃
不是可以把二维数组看做是一维数组么?比如a[2][3]可以看做是包含两个元素a[0]a[1]的一维数组,而a[0]又包含a[0][0],a[0][1],a[0][2]。这样的话a就代表&a[0],
a[0]代表&a[0][0].对不对?
2012-06-02 10:33
举报帖子
使用道具
赠送鲜花
爱闹的娃
等 级:
蝙蝠侠
威 望:
3
帖 子:265
专家分:975
注 册:2011-10-23
第
5
楼
收藏
得分:0
回复 4楼 gao_guai
以地址来说是这样的.....楼主只是纳闷儿为什么正确,这两种没有错啊......
[
本帖最后由 爱闹的娃 于 2012-6-3 00:56 编辑
]
2012-06-03 00:54
举报帖子
使用道具
赠送鲜花
张朝成
等 级:
业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
第
6
楼
收藏
得分:0
p=a=a[0]=&a[0][0],都是指向数组a的首地址
2012-07-04 14:06
举报帖子
使用道具
赠送鲜花
星112
来 自:山西朔州
等 级:
职业侠客
威 望:
2
帖 子:94
专家分:342
注 册:2012-6-22
第
7
楼
收藏
得分:0
这个问题是这样的,数组名代表的就是数组元素的首地址,对于二维数组数组名就是第一行元素的首地址,所以打印出来的结果是一样的,
2012-07-04 15:20
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
二维数组名
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017136 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved