C语言验证栈(Stack)的增长方向

本文通过一个简单的C语言示例程序演示了栈帧的使用方式以及栈的向下增长特性。通过打印局部变量的地址,直观展示了栈区数据的存储与变化规律。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      C中函数的参数列表、非static局部变量、函数返回值均保存在栈帧中,而栈是向下增长(即栈顶在低地址、栈底在高地址)的,下面是一个判断栈的增长方向的栗子。


DEMO

#include <stdio.h>

void func1();
void func2(int *a);

int main(int argc, char *argv[]) 
{
    func1();
	
    return 0;
}

void func1()
{
    int a = 0;
    func2(&a);
	
    return;
}

void func2(int *a)
{
    int b = 0;
    printf("%X\n%X\n", a, &b);
	
    return;
}


在AIX6.1下的执行结果如下:



如有转载,请注明出处:http://blog.youkuaiyun.com/embedded_sky/article/details/45134139

作者:super_bert@csdn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值