请高手帮忙回答下下面的问题。急!!!
指针变量中只能存放指针(地址),不要将一个非零数(或任何其他非地址类型的数据)赋给一个指针变量。如:int*p=2;(错)int*p=0;(对)这个是为什么???急求解答...
指针变量中只能存放指针(地址),不要将一个非零数(或任何其他非地址类型的数据)赋给一个指针变量。如:
int *p=2;(错)
int *p=0;(对)
这个是为什么???急求解答!!! 展开
int *p=2;(错)
int *p=0;(对)
这个是为什么???急求解答!!! 展开
1个回答
展开全部
指针变量保存某个变量在内存中的地址。
int *p=2; 表示指针P的值是2;他指向某个int型变量;这个int型变量在内存中的地址是2。由于一般情况下,你不会知道某个变量在内存中的地址是什么,对应一个什么样的数字;所以一般情况下不会这么用。这只是一般情况。
之所以说,int *p=2;(错),是为了防止将指针变量指向某个未知的不可预测的内存地址。
int *p=0;(对),这种初始化方式表示指针变量p并不指向一个有效的int型变量。这和int *p=NULL;的初始化形式是等同的。NULL的值就是0。
不知道你是不是清楚了,如果有问题请再问,咱们共同研究。
int *p=2; 表示指针P的值是2;他指向某个int型变量;这个int型变量在内存中的地址是2。由于一般情况下,你不会知道某个变量在内存中的地址是什么,对应一个什么样的数字;所以一般情况下不会这么用。这只是一般情况。
之所以说,int *p=2;(错),是为了防止将指针变量指向某个未知的不可预测的内存地址。
int *p=0;(对),这种初始化方式表示指针变量p并不指向一个有效的int型变量。这和int *p=NULL;的初始化形式是等同的。NULL的值就是0。
不知道你是不是清楚了,如果有问题请再问,咱们共同研究。
追问
你QQ号多少,我加你,我们继续讨论~~~
追答
273953041
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询