动态内存管理
一、为什么存在动态内存管理?
已知的开辟空间方式特点有:
1.空间开辟的大小是固定的
2.数组在声明时,必须指定数组长度,它所需要的内存在编译时分配
但是对空间的需求不仅仅是上述的情况,有时我们需要的大小只有在程序运行时才能知道,那之前的空间开辟方式就不适合了。这时就需要动态内存开辟了。
动态内存的开辟发生在堆区。
二、动态内存函数的介绍
2.1malloc和free
动态内存开辟函数malloc:void* malloc(size_t size);
头文件:#include
返回值是指向该空间的指针,又因为这块空间不知道用来存储什么变量,所以返回类型是void*,size是开辟空间的大小,单位是字节。如果开辟空间失败,即没有足够的空间来开辟,返回空指针。
开辟一个存放10个int变量的空间:int* p = (int*)malloc(40);
动态内存释放函数free:void free(void*
动态内存管理最先出现在Python成神之路。
共有 0 条评论