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:尝试用指针替换柔性数组

两种方式的比较:

相关推荐
PnZh0Y12 分钟前
python代码练习1
开发语言·python·算法
sheji34163 分钟前
【开题答辩全过程】以 基于python的图书销售数据可视化系统为例,包含答辩的问题和答案
开发语言·python·信息可视化
flashier3 分钟前
ESP32学习笔记_WiFi(2)——TCP/UDP
笔记·学习·tcp/ip·wifi·esp32
_Soy_Milk3 分钟前
【算法工程师】—— Python 高级
开发语言·python·算法
程序猿Code4 分钟前
groovy闭包
开发语言·python
2401_861412144 分钟前
python 从入门到精通 高清PDF 背记手册
开发语言·python·pdf
松涛和鸣6 分钟前
59、 IMX6ULL按键驱动开发:轮询到中断的实现
linux·服务器·c语言·arm开发·数据库·驱动开发
lsx20240614 分钟前
jEasyUI 条件设置行背景颜色
开发语言
飞天小蜈蚣14 分钟前
python-django_ORM的十三个查询API接口
开发语言·python·django
煎蛋学姐15 分钟前
SSM学习互助平台网站8f554(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
学习·ssm 框架·javaweb 开发·书籍分类