C语言的指针,看到例题有点疑问

新手刚刚学到C语言这一章,很迷糊,书上有道程序例题,我就拿来问大家几个小问题:#include"stdio.h"main(){inta,b;int*pointer_1,*... 新手刚刚学到C语言这一章,很迷糊,书上有道程序例题,我就拿来问大家几个小问题:

#include "stdio.h"
main()
{ int a,b;
int *pointer_1,*pointer_2;
a=100;b=10;
pointer_1=&a;
pointer_2=&b;
printf("%d,%d\n",a,b);
printf("%d,%d\n",*pointer_1,*pointer_2);
getch();
}

1.第5行,100和10分别是a,b的值吗?(是不是也是a,b的地址?)

2.第6,7行中,pointer_1,pointer_2得到a,b的地址时,是否也同时获得a,b的值?

3.第9行中,*pointer_1,*pointer_2是a,b的地址还是值?

别复制,耐心点哈,谢谢!
展开
 我来答
黄邦勇帅哥哥
2010-03-27 · TA获得超过3987个赞
知道大有可为答主
回答量:1199
采纳率:100%
帮助的人:486万
展开全部
第1问
100和10是变量a和b的值。不是a和b的地址
第2问
指pointer_1和pointer_2得到的是a和b的地址,并没有得到a和b的值。
第3问
*pointer_1和*pointer_2是得到的a和b的值。

详细解释
举例
int a=100;
int *p;
p=&a;
我们来看看
首先a的值是100,而a的地址也就是&a假设为120345(在计算机中是内存的地址,内存地址一般是32位的二进制表示的,这里做个假设,没必要写出32位的二进制出来)。那么指针p就指向了变量a的地址,而*指针运算符的作用是求出地址中的值,因此*p就得到的是指针p所指向的内存的地址的值。
奥贝利科斯
2010-03-27 · TA获得超过3447个赞
知道小有建树答主
回答量:729
采纳率:65%
帮助的人:357万
展开全部
question1
那个等号绝对是赋值
不用怀疑,
question2
pointer定义的两个指针变量是用来存放地址的所以叫它指针,
C语言中 普通变量只能保存一个值,它既然是地址就不是数值
但是 你肯定会问 那为什么指针能取到值,很简单 指针就像钥匙
而被所在柜子里的就是变量,有钥匙难道打不开柜子吗?
question3
你需要好好看书了 如果在指针变量调用时前面加*号那就代表要打开柜子取变量,自然得到的是变量了,绝对不是地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fb7e3d17b
2010-03-27
知道答主
回答量:57
采纳率:0%
帮助的人:31.8万
展开全部
1.是的,该语句功能:把整数100赋给整型变量a,把整数10赋给整型变量b
2.第六行的功能是把变量a的地址赋给指针变量point_1,也就是使指针变量point_1指向a;第七行的功能是把变量b的地址赋给指针变量point_2,也就是使指针变量point_2指向b
3.*point_1表示point_1指向的变量,也就是a,所以*point_1的值为100,*point_2表示point_2指向的变量,也就是b,所以*point_1的值为10

建议楼主下载曾怡教授的C语言视频教程,她讲的就是谭浩强的教材。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神皇期修士
2010-03-27 · TA获得超过192个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:159万
展开全部
1.是的,实现对a,b的赋值。不是地址。
2.使得。是地址,不是a,b的值。
3.是指a,b的值
楼主注意*号出现在说明语句和执行部分的含义是不一样的,在说明部分表明定义一个指针变量,这个变量存放地址,而在执行部分里,*变量 指的是指针变量里地址所指向的内容
这时的*point是一个整体

这时C语言指针里最简单的内容啊,楼主看书认真看一遍就能搞的很清楚了,我当时上课都没听,都自己看书,一遍就能很明白了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1c9a68e66
2010-03-27 · TA获得超过541个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:210万
展开全部
问题1:100和10分别是a,b的值;&a、&b才表示地址;
问题2:pointer_1,pointer_2得到a,b的地址,pointer_1,pointer_2只是表示地址;
问题3:*pointer_1,*pointer_2指的是pointer_1,pointer_2所指向的地址的值,也就是a、b的值;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b0c0cc405
2010-03-27
知道答主
回答量:33
采纳率:0%
帮助的人:16.3万
展开全部
100和10分别是a和b的值,后面两个问题的两个指针不是a和b的值,只是通过指针来访问,指针只能指向地址,不能指向具体数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式