C语言中*p=10是啥意思,不是说指针只能赋值地址吗。int *p=&a才是合法的嘛。求解。

如题所述

地址本身就是一个整数值,代表内存中的某个指定位置,比如 &a 就是变量a的内存地址,既然能够把 &a 赋值给指针变量 *p ,那么直接把这个内存地址的实际值赋值给 *p 效果不是一样吗?就好比班主任说“座位号为10的同学站起来”,而“座位号为10的同学”就是张三,那么班主任直接说“张三站起来”效果难道不是一样的吗?追问

P是指针,只能赋值为地址哒(座位号为10),张三就是这个地址里的内容,而不是地址了。指针可以这样赋值???

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-08
*p=10意思是p为一个地址,p所指向的变量赋值为10.而不是说地址p为10.