搜索
首页 电脑/网络 互联网

一道关于指针的问题

全部回答

2018-04-04

0 0
    #include<stdio。h> void main() { int *p1,*p2,a[2]={0},m=12,n=23,*b,*c; //p1=&m;p2=&n; //p1=&a[0],p2=&a[1]; b=p1;c=p2; printf("%d %d\n%d\n",p1,p2,p2-p1); printf("%d %d\n%d\n",a,b,a-b); } //首先第一个问题,在1245036。
    这个地址不已经有了一个值么?为什么还能储存p2的值?? //这个地址已经有了个值,但是*p2是指针,p2=&n=1245036,所以是*p2指向这个地址中的值,使用//指针*p2就可以使用这个地址中的值//第二个问题,将p1=&m;p2=&n;换成斜杠后的语句。
    竟然发现p1=p2。//是*p1指向a[0]的地址,*p2指向a[1]的地址,所以并不是p1=p2,而是p1=a=b,原因在于数组名代表数组//首元素的地址,b=p1。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
互联网
硬件
电脑装机
程序设计
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
互联网
互联网
QQ
网站推荐
上网帮助
举报
举报原因(必选):
取消确定举报