关于动态存储的两个知识点

范围:郝斌Cp140---p142(为什么需要动态内存到malloc)

一,传统数组(静态数组)的缺点:

1,数组长度必须事先制定,且只能是常整数,不能是变量;

2,静态数组,程序员不能手动释放;

​​3,数组长度一旦定义就不能再改变;

​​4,静态数组不能跨函数使用;

//动态数组能够很好地解决这四个问题

 

二,malloc的要求:举例int* p = (int *) malloc (4);

1,要使用malloc函数,必须添加malloc.h这个头文件;

2,malloc函数只有一个形参,并且形参是整型;

3,4表示请求系统为本程序分配4个字节;

4,malloc函数只能返回第一个字节的地址;

5,该行分配了8个字节,p变量占4个字节,p指的内存占4个字节;

6,P本身所占的内存是静态分配的,p所指的内存是动态分配的;

释放:free(p); //表示把p所指的内存释放掉

猜你喜欢

转载自www.cnblogs.com/unique-lemon/p/10294040.html