函数的栈空间

在这里插入图片描述

#include <iostream>
#include <windows.h>

using namespace std;

void test(void) {
	//运行时因为栈帧空间溢出,而崩溃
	char bug[1200000];  
	
	cout << (int)bug[sizeof(bug)-1] << endl;
}

void test2(int n) {
	char bug[1204*100]; //100k

	printf("n=%d\n", n);
	printf("%X\n", bug);
	//cout << "n=" << n << endl;
    //cout <<  &bug << endl;

	if(n==1) {
		return;
	}

	test2(n-1);  // test2(n-3) > test2(n-2) >test2(n-1)
}
int main(void) {
	
	test2(3);
	//test();
	system("pause");
	return 0;
}


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了73 篇原创文章 · 获赞 0 · 访问量 9868

猜你喜欢

转载自blog.csdn.net/weixin_45399178/article/details/105054699