首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

int数组入栈有关问题

2012-03-30 
int数组入栈问题void __fastcall TForm1::btn1Click(TObject *Sender){unsigned int buffer[2]{1769369,1

int数组入栈问题
void __fastcall TForm1::btn1Click(TObject *Sender)
{
  unsigned int buffer[2]={1769369,1769369},result=1769369;
  asm
  {
  //push buffer[0];
  push buffer[1];
  //push result;
  pop result;
  }
  ShowMessage(result);
}
上面的代码,buffer[1]入栈后再出栈值就变了,buffer[0]却不变,为什么?

[解决办法]
因为:
push buffer[1];
在汇编里是指离buffer首地址差1字节的地方,而不是4字节:)

热点排行