// 全局变量、静态变量、常量
#includeusing namespace std; // 全局变量、静态变量、常量 //全局变量 int g_a=10; int g_b=10; //const修饰的全局常量 const int c_g_a = 10; const int c_g_b = 10; int main() { //创建普通局部变量 int a = 10; int b = 10; cout <<"局部变量a的地址为:" <<(int)&a <
总结
栈区注意事项
#includeusing namespace std; //栈区注意事项 //不要返回局部变量的地址 //栈区的数据由编译器管理开辟和释放 int *func(int b)//形参数据也存放在栈区 { b = 100; int a = 10;//局部变量:存放在栈区,栈区的数据在函数执行完毕自动释放 return &a;//返回局部变量的地址 } int main() { //接受func函数的返回值 int *p=func(1); cout <<*p <
#includeusing namespace std; int *func() { //利用new关键字,将数据开辟到堆区 //指针本质也是局部变量,存放在栈上,指针保存的数据存放咋堆区 int* p = new int(10); return p; } int main() { //在堆区开辟数据 int* q = func(); cout <<*q <
#includeusing namespace std; //1.new的基本语法 int* func() { //在堆区创建整形数据 //new返回的是数据类型指针 int* p = new int(10); return p; } //2.在堆区利用new 开辟数组 int main() { //在堆区开辟数据 int* q = func(); cout <<*q <
#includeusing namespace std; //1.new的基本语法 //2.在堆区利用new 开辟数组 void test() { //创建10整形数据的数组,在堆区 int *arr =new int[10];//10代表数组有10个元素 for (int i = 0; i <10; i++) { arr[i] = i + 100;//给10个元素赋值,100~109 } for (int i = 0; i <10; i++) cout <
注意:
哔哩哔哩 黑马程序员
到此这篇关于C++ 内存分区模型的使用(代码区、全局区、栈区、堆区、new)的文章就介绍到这了,更多相关C++ 内存分区模型内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!