本人是C语言菜鸟,大神求打救,简述一下什么是指针,什么是的地址,以下题目的意思是什么?

1、变量i的值为3,i的地址为2000,若欲使指针变量p指向变量i,则下列赋值正确的是(D)A)&i=3;B)*p=3;C)*p=2000;D)p=&i;为什么选D吖?... 1、 变量i的值为3,i的地址为2000,若欲使指针变量p指向变量i,则下列赋值正确的是( D )
A)&i=3; B)*p=3; C)*p=2000; D)p=&i;
为什么选D吖?
展开
 我来答
班丘访曼96
2013-01-09 · 超过23用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:60.4万
展开全部
指针是地址,指针变量是存储地址的变量。
一个变量的地址称为该变量的“指针”。
内存的每个存储单元都是有编码的,每个编码都不同,这些编码称为地址。
例如:int i=3;
int是类型 告诉系统需要的存储单元。假如系统分配了编码为2000的地址给i,日后在调用i的时候实际上就是通过i找到地址为2000的存储单元,然后调用里面的内容。
定义的指针变量的时候一般形式是:
类型名 *指针变量名

假如有:
int i,k,j;
double a,b,c;
这时想要指向这些变量,就要如下定义:
int *p_i;
p_i=&i; //&是取地址运算符。&i就是变量i的地址。
double *p_d;
p_d=&a;

你想指向的变量是什么类型,你定义的指针就要是什么类型。
另外也可以在定义指针的时候就赋值,如:
int *p_i=&i; (这和*p=&i是不一样的,p是指针变量,*p是指向的地址的内容,定义时 int *p的*p是说p为指针变量的意思。)

A:把3赋值给i的地址,错误
B:把3赋值给p所指向的地址,指针变量p没有指向任何地址,为野指针。
C:在此赋值语句中,2000只是作为一个数值,不代表地址,所以同上。
D:将i的地址赋值给指针变量p
kof2001kop
2013-01-09 · TA获得超过126个赞
知道答主
回答量:152
采纳率:0%
帮助的人:143万
展开全部
不太严谨地说:
指针,是变量,能储存一个地址
地址,是常量,一个16进制数。

理解好这点,这题不就会了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友15dbac2
2013-01-09 · TA获得超过123个赞
知道答主
回答量:122
采纳率:0%
帮助的人:71.9万
展开全部
p=&i代表p中存放i的地址。
指针就比如说是,你的门牌号为A,别人来找你,我说你在A室,他们在A室中就能找到你
*p是p指向的内存单元中的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bridgeline
2013-01-09 · 超过24用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:49.6万
展开全部
因为&是取地址符,取了i的地址,然后赋给了指针p,你可以把p看成门牌号一样的东西会好理解一点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinwp2007
2013-01-09 · 超过23用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:63.2万
展开全部
&i 是取i的地址,也就是2000,
p=&i; 意思是把i的地址赋给P,或者说P指向i的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式