搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 多维数组名可以直接赋值给指针变量吗?
标题:
多维数组名可以直接赋值给指针变量吗?
只看楼主
朔源
等 级:
新手上路
帖 子:105
专家分:4
注 册:2015-9-22
结帖率:
90%
楼主
已结贴
√
问题点数:15 回复次数:6
多维数组名可以直接赋值给指针变量吗?
int main(void)
{
float a[][3]={{1,2,3},{4,5,6},{7,8,9}};
float * p;
int i;
p = a; // 多维数组名为什么不能直接赋给指针
for(i = 0;i < 9;i++)
printf(" %5.2f",* p++);
printf("\n");
return(0);
}
搜索更多相关主题的帖子:
return
2015-11-02 11:06
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
2
楼
得分:1
p = &a[0][0];
DO IT YOURSELF !
2015-11-02 11:14
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
3
楼
得分:1
或者
p = a[0];
DO IT YOURSELF !
2015-11-02 11:15
vvvcuu
等 级:
贵宾
威 望:
12
帖 子:353
专家分:1253
注 册:2014-4-22
第
4
楼
得分:10
事实上的多维数组是不存在的,所谓的二维数组或者高维数组不过是元素是比其低一个维度的数组的数组而已。
对于二维以上的数组,如果把数组名直接赋值给指针变量,计算机会因为找不着北报错。
这就好比在一个班级中找一个人,你需要知道这个人具体在哪一列哪一排才能定位准确,但是只告诉你从第1排第一列开始查找,你一样迷糊究竟是先按照排查起还是按照列查起。
代码测试环境: WinXP+C-Free5.0.
2015-11-02 11:36
qq1625127317
等 级:
侠之大者
威 望:
1
帖 子:185
专家分:450
注 册:2015-9-3
第
5
楼
得分:2
p = &a[0][0] p = &a[0]这些不同的写法他还是有区别的
静坐常思己过,闲谈莫论人非
2015-11-02 12:50
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
6
楼
得分:1
大概(*p)[3]可以p=a;是编译器阻止了。
能编个毛线衣吗?
2015-11-02 14:02
朔源
等 级:
新手上路
帖 子:105
专家分:4
注 册:2015-9-22
第
7
楼
得分:0
回复 4楼 vvvcuu
谢谢!
2015-11-05 09:49
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-458798-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.051239 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved