malloc和calloc的用法;
#include <stdio.h>
#include <stdlib.h>
int main() {
//malloc申请一段连续的内存空间(数组也是)
//生命周期到手动释放(free)结束
//malloc申请内存空间括号里的单位叫做字节
//malloc返回值是void*并且申请失败返回空指针
//malloc申请的内存需要借助free进行释放,
//如果没有及时释放就会造成内存泄漏
//内存泄漏会造成程序后续无法在申请到内存了
//申请不到程序就无法进行正常工作(尤其是服务器程序影响很大)
//calloc默认将申请的内存初始化全0 (应用场景很局限)
//realloc可以搭配malloc和calloc使用,作用是扩容
//realloc如果传一个空指针无需搭配malloc和calloc使用也可以完成动态内存管理
//可以完成数据的搬运
//int * p = (int*)malloc(INT_MAX / 4);
//*p = 20;
//printf("%d\n", *p);
//free(p);
int* p = (int*)malloc(sizeof(int) * 10);
free(p);
p = NULL;
//C语言标准规定,对一个空指针进行free,没有任何副作用
free(p);
system("pause");
return 0;
}