#include <stdio.h>
#include <malloc.h>//引入动态分配内存的函数 (malloc:memory(内存) allocate(分配)的缩写)
int main(void) {
int i = 5;//分配了4个字节,属于静态分配的内存,函数不终止,内存就不会释放
int * p = (int *)malloc(4);//动态分配的内存,随时可以释放 (第5行)
/*
1.要使用malloc函数,必须添加malloc.h头文件
2.malloc函数只有一个形参,并且形参是整型
3.4表示请求系统为本程序分配4个字节
4.malloc函数只能返回第一个字节的地址
5.第5行分配8个字节,p变量占4个字节(32位操作系统),p变量所指的内存也占4个字节
6.p变量所占的内存是静态分配的,p所指的内存是动态分配的(调用了malloc函数)
*/
*p = 5;//*p就是代表一个int类型的变量,只不过*p这个整型类型的分配方式与第4行i = 5;的分配方式不同
free(p);//free(p)表示把p指向的内存给释放掉,p本身的内存是静态的,当p变量所在的函数终止是,p变量的内存有系统自动释放
return 0;
}
malloc函数简单介绍-动态内存分配
最新推荐文章于 2023-02-25 13:27:58 发布