| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 580 人关注过本帖
标题:男的们女的们,大家给解答啊!嘿嘿····
只看楼主 加入收藏
cheenbee
Rank: 2
等 级:论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:7 
男的们女的们,大家给解答啊!嘿嘿····
#include<stdio.h>
void main(){
    int a[4]={1,3,5,7};
    int (*p)[4];
    p=&a;
    printf("%d\n",(*p)[3]);
    getch();
}

书上写到:第五行不应写成“p=a;”,我试了一下,p=a;和p=&a;的结果输出一样。求解以解惑,感谢!!!
搜索更多相关主题的帖子: 五行 
2011-11-16 16:13
xlj3105098
Rank: 2
等 级:论坛游民
帖 子:20
专家分:28
注 册:2011-10-8
收藏
得分:1 
数组名a代表的就是数组的首元素地址!
2011-11-16 16:18
编程的乐趣
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:229
专家分:1027
注 册:2011-4-4
收藏
得分:1 
2011-11-16 16:20
cheenbee
Rank: 2
等 级:论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
收藏
得分:0 
回复 楼主 cheenbee
给关键回答啊!
2011-11-16 16:38
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:1 
不可以p=a; 因为a这里代表一个数组;p是指向数组的指针 指针只能指向地址; 也就是要取的a的地址;那么就要使用取址运算; 你会说a也是地址啊 不是有过这种赋值的吗? 确实a 确实是数组的地址 不过这里p不单纯是指针;而是一个特殊的指针(数组指针)    int a[4]={1,3,5,7};int *p;p=a; 这样写你对了~ 因为a作为地址只能是单纯的a[0]的地址;而a[0]的地址怎么可以赋值给 int (*p)[4]呢; 所以只能用&a代表a[4]的地址赋值给int (*p)[4];

君生我未生 我生君以老
2011-11-16 16:46
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:1 
因为数组名也可以代表一个地址,所以在这个程序里面有没有加&结果是一样的
但它的本义是要告诉你,一个指针变量赋值的时候是要给一个地址,
下面的程序段就可以看出来差别了
程序代码:
#include<stdio.h>

 main()

 {
    int a=7;
    int *p;
    p=&a;
    printf("%d\n",*p);   
}
2011-11-16 16:49
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:0 
以下是引用luchar在2011-11-16 16:49:10的发言:

因为数组名也可以代表一个地址,所以在这个程序里面有没有加&结果是一样的
但它的本义是要告诉你,一个指针变量赋值的时候是要给一个地址,
下面的程序段就可以看出来差别了
#include
 main()
 {
    int a=7;
    int *p;
    p=&a;
    printf("%d\n",*p);   
}
因为数组名也可以代表一个地址,所以在这个程序里面有没有加&结果是一样的
楼上的 别误人子弟!  楼主的这个程序 不能使用 p=a;这个语句!@@@@

君生我未生 我生君以老
2011-11-16 16:52
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:1 
http://topic.
2011-11-16 16:53
快速回复:男的们女的们,大家给解答啊!嘿嘿····
数据加载中...
 
   



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

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