动态内存分配以及new运算符的深入了解

//C/C++动态内存分配
/*
内存五大分区
1.栈区(stack)—由编译器自动分配释放,存放函数的参数值、局部变量的值等
2.堆区(heap)—也叫自由存储区,空间在内存中最大,一般由程序员分配释放,在C语言中用malloc和free函数来进行动态分配
和释放内存,在C++中用new和delete来分配和释放内存,在堆区一定要注意内存泄漏
3.全局/静态存储区—全局变量和静态汴梁被分配到同一块内存,严格地说又分为已经初始化的和未初始化的变量(BSS)
4.常量存储区—里面存放的是常量,不能被修改
5.程序代码区—存放函数体的二进制代码
/
/

C语言动态内存分配—malloc函数
函数原型— void * malloc(unsigned int size);
C语言动态内存释放—free函数
函数原型— void free(void * ptr)
*/
//C语言动态内存分配实例

#if 0
#include
#include
#include
using namespace std;
int main()
{
	/*
	int *p = (int *)malloc(sizeof(int) * 10);   //使p指向一个大小为40字节的动态内存
	cout << "p=" << p << endl;                  //输出地址00B60578,此地址为动态内存的首地址
	int ar[10] = { 0,1,2,3,4,5,6,7,8,9 };    //定义一维数组并赋值
	//p = ar;                           //使p指向

你可能感兴趣的:(知识点,动态内存分配,new运算符深入了解)