|
发表于 2016-5-29 11:07:05
|
显示全部楼层
本帖最后由 yeeeee 于 2016-5-29 11:08 编辑
编译器是这样编译两个printf指令的
- lea edx,[local.5] ;char i[]的地址
- push edx
- push offset asd.??_C@_0BA@FAPA@char?5adr>; ASCII "char adr is:%p"
- call asd.printfgvdbgind_blockeressges
- add esp,0x8
- printf("char adr is:%p",i);
- lea eax,[local.5] ;char i[]的地址
- push eax
- push offset asd.??_C@_0BA@FAPA@char?5adr>; ASCII "char adr is:%p"
- call asd.printfgvdbgind_blockeressges
- add esp,0x8
- printf("char adr is:%p",&i);
复制代码
这个指针指向的是数组的第一个元素的地址
但是这只是一个指针
也就是说这个指针的地址就是第一个元素的地址
因为这个已经是地址了
所以取址符号取出来的地址和原来的地址是一样的
来自 【鱼C】C语言交流群 159226010 |
评分
-
参与人数 1 | 荣誉 +5 |
鱼币 +5 |
贡献 +3 |
收起
理由
|
冥顽
| + 5 |
+ 5 |
+ 3 |
非常感谢! |
查看全部评分
|