作业帮 > 综合 > 作业

int x[5]; int *p; p=&x[2]; //指针p存放x[2]的地址,相当于p是指向x[2]的指针 *p=

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 19:28:11
int x[5]; int *p; p=&x[2]; //指针p存放x[2]的地址,相当于p是指向x[2]的指针 *p=50; //相当于设置x[2]
*P 为什么等于50
int x[5]={1,2,3,4,5};
int *p;
p=x; //指针p存放数组x的开始地址
*p=10; //相当于设置x[0]等于10
*p=10; 怎么等于10的
int x[5];//定义了一个int型数组
int *p;//定义了一个指向int型的指针(而且没有初始化,野指针一枚)
*p = &x[2];//指针p指向x数组中索引为2的那个地方
*p = 50;//对指针p解引用,使得x[2] = 50; *p的意思就是x[2];相当于x[2] = 50
然后你的int *p;//定义一个野指针
p=x;//你这里注释错了,这里是把x的值当做地址送给指针p;p就指向一个神奇的地方,如果x=10,那么p指向的就是地址为10这个地方的一个值(一般会出现段错误吧)
应该改为 p =&x[0];//才是p指向x[0]
而且你的问题有问题.*p = 10;意思是x[0] = 10;等号左边是被赋值的对象,等号右边是值.
a=b的意思就是把b的值赋给a.所以a的值就是b.
再问: x[2] = 50 ���Լ�����ģ� ��������� int x[5]={1,2,3,4,5}; x[0]����Ӧ����1ô
再答: �ǰ�������ָ��x[2]��ָ����н������ˣ���Ȼ���޸���x[2]��ֵ�˰���x[0] ��ֵ��1����