本文共 470 字,大约阅读时间需要 1 分钟。
别太纠结什么形参实参,C语言,90%是内存的游戏
例:
#include "stdio.h"int *f(int *s,int *t){ if(*s<*t) { s = t; } return s;}int main(){ int i=3,j=5,*p=&i,*q=&j,*r; r = (p,q); printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);}
解
再看看反汇编
/* // 74: if(*s<*t) // 75: { 0x080016A8 6802 LDR r2,[r0,#0x00] ; r0=0x200012d8 r2=30x080016AA 680B LDR r3,[r1,#0x00] ;r1=0x200012d4 r3=50x080016AC 429A CMP r2,r3 ;r2
咳咳,预测的和实际反汇编还是有差异的,因,i,j局部变量就放在栈(SP)里面了
转载地址:http://sqoxi.baihongyu.com/