作业帮 > 综合 > 作业

*p=&i 和 *p=i

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/22 04:15:43
*p=&i 和 *p=i
为什么说 *p=&i 是指向i的地址 而又有 *p=i (对地址进行析值)
不都是*pi么?
*p=&i 和 *p=i
你这个不是同一个代码吧?
*p = &i 说明p是一个二级指针,如果i是int,&i为int*,*p可以为int*时,p要求是int**.
*p = i说明p是一个指针,如果i是int,*p为int类型,p为int*类型.
再问: 能不能这么理*p=&i 意为p指向i地址的地址 但如果有写int*p=&i ,就可以看做是 *p=i 和 p=&i
再答: 没有地址的地址的说法,地址是一个具体的数,不再有地址。p只能是指向一个变量,p的值是变量的地址。 例如: int**p int*pi; int i; pi = &i; p = π int *p = &i等价于int *p; p = &i; 不等价于*p = i
再问: 所以在你给的例子中 *pi=i; (1)pi=&i;(2) *p=pi; (3)所以联立(2)(3) 有 *p=&i 是这样么?
再答: 可以这样理解,但*p = &i这句只有pi存在时才有意义,因为*p实际是pi。