0
点赞
收藏
分享

微信扫一扫

你掌握了动态存储吗?你了解柔性数组吗?

夏沐沐 2022-05-03 阅读 28

目录

1. malloc

❤️例:malloc使用

⭐️静态开辟空间的方式

⭐️动态开辟空间的方式

2. free

❤️例:free使用

3. calloc

❤️calloc和malloc函数的对比:

⭐️不同点1:参数个数不同

⭐️不同点2:有无初始化

4. 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:

❤️6.2  题目2:

❤️6.3  题目3:

❤️6.4  题目4:

❤️6.5  题目5:

❤️6.6  经典例题补充

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

8. 柔型数组

8.1 柔性数组的特点

❤️例:

8.2 柔性数组的使用

❤️计算大小

❤️柔性数组的动态创建

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

9. 习题补充

❤️9.1 习题1

❤️9.2 习题2

❤️9.3 习题3


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

举报

相关推荐

0 条评论