可以对指针变量进行赋值吗,例如*p=1

书上说,“指针变量中只能存放地址(指针),不要将一个整数赋给一个指针变量。如:*pointer_1=100;//pointer_1 是指针变量,100是整数,不合法”
后面又有“*p=1//表示将整数1赋给p当前所指向的变量。”这是怎么一回事啊?

*p = 1,表示将1赋值给p 所指的变量或地址空间,在这步上面肯定有*p的初始化或已赋地址。不然你直接这样写肯定是错的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-20
c++中,*p=1等价于(*p)=1,这么写没问题
c表示* (p=1),表示把地址0x00000001赋值给p,外面的这个“*”很寂寞,所以不能这么写.