从汇编的角度理解C++编译器

C++编译器:

运行结果:


C编译器:


运行结果:


下面我从汇编的角度来解释一下:

在C++编译器中,把*p和i认为是不同的类型(*p是变量,i是常量),这样,*p改变,i不变,也就是两个不同类型的数据存入了同一个存储单元中(在相同的物理地址下存了两个值)。

在C编译器中,把*p和i认为是相同类型(同是变量),这样,*p改变,i随之改变,就相当于先给i赋值100,再给i赋值200。

猜你喜欢

转载自blog.csdn.net/baidu_38760069/article/details/79845588