黄金etf 纸黄金:一个C程序,谁能解释一下。

来源:百度文库 编辑:中科新闻网 时间:2024/05/06 04:48:51
int m=5,*p;
*p=m、*p=&m和p=&m
这三句意思相同吗?如不同有什么区别?

p指针没有被分配空间,所以没有指向的内存空间,如果是下面申明就对了:
int m=5,*p=&m;

*p=m 将[p所指向的地址]里面存放的[值]改为[m的值]
*p=&m 将[p所指向的地址]里面存放的[值]改为[m的地址]
p=&m 将[p所指向的地址]改为[m的地址]

[]是需要注意分析的重点词,希望对LZ有帮助

举个实例,假如p里面存放了一个指定的内存空间的地址是0x0001,而0x0001里面存放了一个值4.而m的地址是0x0002,里面存了个5,那么

*p=m 意思是把4改成5 (0x0001里面的值变为了0x0002里面的值)

*p=&m 意思是把4改成0x0002 (0x0001里面存的值变为了0x0002)

p=&m 意思是把0x0001改成0x0002(2个地址里面的内容是不变的)

第一、二个不对吧,

二楼对!