C语言学习/复习34--内存相关笔试题/C与C++的内存/柔性数组

一、动态内存管理笔试题

1.值传递

注意事项1:指针的地址传递需要将指针的地址用二级指针接收,本题属于值传递不属于地址传递

修改:1改为地址传递,2释放malloc()函数申请的空间

注意事项2:printf()字符串时,参数实际是字符串首元素的地址

2.在栈上申请空间

注意事项1:函数相关的存于栈上,出了函数后栈中的数据自动销毁

修改:static修饰后变为静态变量存于静态区不存于栈上,直到程序结束才会释放

3.malloc()与free()

修改:添加与malloc()相配的free()手动释放堆上的空间

4.free()与指针置空

修改:free()后记得将指针置空,否则空间还给内存但指针还指向一块没有权限操控的空间

二、C/C++程序的内存开辟

1.栈、堆、静态区

注意事项1:static修饰局部变量后生命周期变长

三、柔性数组

1.定义:

2.两种案例:

3.柔性的特点:

实例1:柔性数组与malloc(),realloc()

实例2:尝试用指针替换柔性数组

两种方式的比较:

相关推荐
面向星辰15 分钟前
windows配置hadoop环境
java·开发语言
胜天半月子30 分钟前
嵌入式开发 | C语言 | 单精度浮点数4字节可以表示的范围计算过程
c语言·嵌入式c·1024程序员节·单精度浮点数计算
Elieal1 小时前
Java的Collection 集合体系详解
java·开发语言
奋斗的牛马1 小时前
FPGA—ZYNQ学习GPIO-EMIO(三)
学习·fpga开发
py有趣1 小时前
LeetCode算法学习之合并区间
学习·算法·leetcode
m0_748233641 小时前
单调栈详解【C/C++】
c语言·c++·算法·1024程序员节
海上Bruce2 小时前
C primer plus (第六版)第十一章 编程练习第14题
c语言
青衫码上行2 小时前
【Java Web学习 | 第1篇】前端 - HTML
java·前端·学习
charlie1145141912 小时前
HTML 理论笔记
开发语言·前端·笔记·学习·html·1024程序员节
郝学胜-神的一滴2 小时前
Linux中的`fork`函数详解:深入解析
linux·服务器·开发语言·c++·算法