| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12313 人关注过本帖
标题:关于指针地址与取地址里边的值,易混淆。
只看楼主 加入收藏
陆苗
Rank: 2
等 级:论坛游民
帖 子:52
专家分:39
注 册:2016-5-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
关于指针地址与取地址里边的值,易混淆。
int*p=&a;      p=&a;总是会把这两个弄错。
 //定义一个整型指针变量P,取a的地址。  我始终认为int*p=a;是取地址a里边的值。所以int*p=a;  而p是取a的地址.p=&a;
     大神能解释下嘛,我总是弄混。
2016-06-11 20:21
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:0 
你形容的有点看不懂

变量声明时标示符前带*号意味着这是个存该类型变量地址的变量
一元运算符&,表示取地址。 &a就是取出a的地址

所以如果a是int,p是int *。 那么使p指向a(也就是使p保存a的地址)的方法就是 p = &a;
2016-06-11 22:52
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:10 
1.int *p=&a; 则a是一个普通整型变量,指针p指向变量a的地址。这表明,声明指针变量p时,直接初始化,指向得a的地址.
这跟int *p; p=&a;是同等的.
如:
int main()
{
    int b=3;
    int* p;
    p=&b;
    printf("%d",*p);//打印时,p加上*号,取出指向变量b的地址值.
    return 0;
}

2.int*p=a;
这种表达式,说明a是一个数组或者是另一个指针变量
如: int a[3]={1,2,3};  int *p=a;//等同于int *p; p=a;
这个时候,p指向了数组a的首地址,即指针p指向了a[0];
如:
int main()
{
    int    b[3]={1,2,3};
    int* p;
    p=b;//p指向了数组b的首地址.
    printf("%d",*p);//*p打印可以得到首地址的值。
    return 0;
}

楼主如果想更加仔细的了解,可以阅读<c primer plus>或者<c与指针>这两本书。

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2016-06-11 23:03
hykj9495
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:796
专家分:1441
注 册:2016-6-6
收藏
得分:0 
int*p=a;
这种表达式,说明a是一个数组或者是另一个指针变量
另一个变量:在指针变量P里存放另一个指针变量的地址

慢慢调试
2016-06-11 23:27
陆苗
Rank: 2
等 级:论坛游民
帖 子:52
专家分:39
注 册:2016-5-31
收藏
得分:0 
回复 2楼 随风飘荡
好像懂了,谢谢你。

------虚心学习,不懂就问
2016-06-13 09:09
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10606
专家分:43182
注 册:2014-5-20
收藏
得分:10 
回复 楼主 陆苗
其实都是同一问题的不同方面,不要将问题对立化或孤立化。
对于任何一个数据,都要同时想到:它存在什么地方(地址或指针)、它占用多少空间(大小)和它的内容(数值等)
2016-06-13 09:44
陆苗
Rank: 2
等 级:论坛游民
帖 子:52
专家分:39
注 册:2016-5-31
收藏
得分:0 
回复 3楼 lanke711
非常感谢你的细心指导!希望下次还有机会.

------虚心学习,不懂就问
2016-06-13 09:52
快速回复:关于指针地址与取地址里边的值,易混淆。
数据加载中...
 
   



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

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