C语言函数调用

栈帧

  • 在程序运行时,用栈保存一个函数调用所需要维护的信息,这被称为一个函数的栈帧或者活动记录,一个函数调用过程通常需要以下几方面信息:
    ** 函数返回地址
    ** 函数参数
    ** 临时变量
    ** 保存的上下文:包括函数调用前后需要保持不变的寄存器

栈的生长方向---向下生长

  • 即栈顶元素的地址最小,后入栈的元素地址比先入栈的小,栈是向下生长的

多字节数据的内存存放方向---大端模式与小端模式

  • 单字节数据没有这个概念,因为只有一个字节
  • 小端模式:高位字节放在高地址,低位字节放在低地址
  • 大端模式:高位字节放在低地址,低位字节放在高地址

宏函数

  • 比如#define MYADD(x, y) ((x) + (y))
  • 由于宏函数没有普通函数调用的开销(函数压栈,跳转,返回等),因此对于频繁使用,并且比较短小的函数,一般使用宏函数替代。
posted @   肖肖凯  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示