函数栈平衡跟踪

例子:

 
  

#include "stdafx.h"
#include <string.h>

struct stu{
    char name[20];
    int age;
    char* addr;
};

int inCall (char c,int n,char* hi, stu stu1){
    int locInt = 0x1234;
    char* locStr = "here i am";
    printf("%c\t0x%x\t%s\t0x%x\t%s\n",c,n,hi,locInt,locStr);
    printf("%s\t%d\t%s\n",stu1.addr,stu1.age,stu1.name);
    return 20;
}

void main()
{
    stu stu1;
    memset(&stu1,0,sizeof(stu1));
    memcpy_s(stu1.name,strlen("ZhangSan"),"ZhangSan",strlen("ZhangSan"));
    stu1.age = 0x30;
    stu1.addr = "Beijing";

    char* hi = "how are you?";
    inCall('A',0x70,hi,stu1);
    getchar();
}

 

  1. main函数的执行过程:

 栈空间:

  2.inCall函数的执行过程和栈空间:

  栈空间:

转载于:https://www.cnblogs.com/xunbu7/p/5537941.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值