目录
1. malloc
❤️例:malloc使用

⭐️静态开辟空间的方式
⭐️动态开辟空间的方式
2. free
❤️例:free使用

3. calloc
❤️calloc和malloc函数的对比:
⭐️不同点1:参数个数不同
⭐️不同点2:有无初始化
用malloc开辟的空间,默认是随机值!用calloc开辟的而空间,默认是初始为0!
(1)对于malloc

(2)对于calloc

4. realloc
当我们用malloc或者calloc动态开辟空间后;怎样继续进行扩容呢?这就需要realloc!
❤️例:realloc使用

⭐️第一步先calloc动态开辟
⭐️第二步再realloc动态扩容
❤️例:realloc单独使用和malloc使用效果类似

5. 常见的动态内存错误
❤️5.1 对(空指针)NULL指针的解引用操作

❤️5.2 对动态开辟空间的越界访问

❤️5.3 使用free释放非动态开辟的空间

❤️5.4 使用free释放动态内存的一部分

❤️ 5.5 对同一块动态内存多次释放

❤️5.6 动态开辟内存忘记释放(内存泄漏)

6. 几个经典的笔试题
❤️6.1 题目1:

问题1:
问题2:
⭐️修改方法1:

⭐️修改方法2:

❤️6.2 题目2:

问题:
❤️6.3 题目3:

问题:
❤️6.4 题目4:

问题:
❤️6.5 题目5:

问题:
❤️6.6 经典例题补充

解析:
7. C/C++程序的内存开辟

8. 柔型数组
C99 中,结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。
8.1 柔性数组的特点
❤️例:

8.2 柔性数组的使用
❤️计算大小

❤️柔性数组的动态创建

❤️利用指针实现柔型数组的功能

9. 习题补充
❤️9.1 习题1


❤️9.2 习题2


❤️9.3 习题3












