请高手帮忙回答下下面的问题。急!!!

指针变量中只能存放指针(地址),不要将一个非零数(或任何其他非地址类型的数据)赋给一个指针变量。如:int*p=2;(错)int*p=0;(对)这个是为什么???急求解答... 指针变量中只能存放指针(地址),不要将一个非零数(或任何其他非地址类型的数据)赋给一个指针变量。如:
int *p=2;(错)
int *p=0;(对)
这个是为什么???急求解答!!!
展开
 我来答
Seraph_WFM
2011-04-15 · 超过11用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:0
展开全部
指针变量保存某个变量在内存中的地址。
int *p=2; 表示指针P的值是2;他指向某个int型变量;这个int型变量在内存中的地址是2。由于一般情况下,你不会知道某个变量在内存中的地址是什么,对应一个什么样的数字;所以一般情况下不会这么用。这只是一般情况。
之所以说,int *p=2;(错),是为了防止将指针变量指向某个未知的不可预测的内存地址。
int *p=0;(对),这种初始化方式表示指针变量p并不指向一个有效的int型变量。这和int *p=NULL;的初始化形式是等同的。NULL的值就是0。

不知道你是不是清楚了,如果有问题请再问,咱们共同研究。
追问
你QQ号多少,我加你,我们继续讨论~~~
追答
273953041
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式