程序在执行时,通常将内存划分为4个区域:
-
代码区:存放函数体的二进制代码,由操作系统进行管理。
-
全局区:存放全局变量和静态变量以及常量。
-
栈区:由编译器自动分配释放,存放函数的参数值,局部变量 等。
-
堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。
利用new操作符在堆区开辟数据,用delete操作符释放,语法:new 数据类型
利用new创建的数据,会返回该数据对应的类型的指针。
内存分区的意义:
不同区域存放的数据,赋予不同的生命周期,使编程更加灵活。
例题:写一个函数,求x的n次方
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
int test01(int x,int y)
{
int c = 1;
while (y--)
{
c *= x;
}
return c;
}
int main()
{
int x = 0;
int y = 0;
cin >> x >> y;
int w = test01(x,y);
cout << x << "的" << y << "次方=" << w << endl;
return 0;
}
运行结果窗口