作业帮 > 综合 > 作业

C语言 指针中*p=&n; ,和*p,p=&n;,有什么区别和关系呢?在什么情况下可以用*p=&n呢

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 11:40:12
C语言 指针中*p=&n; ,和*p,p=&n;,有什么区别和关系呢?在什么情况下可以用*p=&n呢
你要搞清两个概念:指针在定义和使用时的差别.
一个是定义的时候,int *p = &n,那么说明p是一个地址,它指向n这个变量.
一个是使用时 *p=&n,那么说明p是二级指针,即它指向地址的地址,那么*p仍然是地址,它指向n这个变量.
再问: 为什么在使用的时候p是二级指针?
再答: 定义的时候 *号代表 :类型说明符,说明它是一个存放地址的变量,即指针。 而使用的时候,*表示对p取目标,是一个运算符。*p=&n,&n代表对变量n取地址,那么这句话相当于: p的目标是一个指针,那p不就是二级指针了吗?