C语言函数调用
栈帧
- 在程序运行时,用栈保存一个函数调用所需要维护的信息,这被称为一个函数的栈帧或者活动记录,一个函数调用过程通常需要以下几方面信息:
** 函数返回地址
** 函数参数
** 临时变量
** 保存的上下文:包括函数调用前后需要保持不变的寄存器
栈的生长方向---向下生长
- 即栈顶元素的地址最小,后入栈的元素地址比先入栈的小,栈是向下生长的
多字节数据的内存存放方向---大端模式与小端模式
- 单字节数据没有这个概念,因为只有一个字节
- 小端模式:高位字节放在高地址,低位字节放在低地址
- 大端模式:高位字节放在低地址,低位字节放在高地址
宏函数
- 比如#define MYADD(x, y) ((x) + (y))
- 由于宏函数没有普通函数调用的开销(函数压栈,跳转,返回等),因此对于频繁使用,并且比较短小的函数,一般使用宏函数替代。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具