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

两种方式的比较:

相关推荐
木卫二号Coding10 小时前
第七十七篇-V100+llama-cpp-python-server+Qwen3-30B+GGUF
开发语言·python·llama
半夏知半秋10 小时前
lua5.5版本新特性学习
开发语言·笔记·学习
木卫二号Coding10 小时前
第七十六篇-V100+llama-cpp-python+Qwen3-30B+GGUF
开发语言·python·llama
枫叶丹410 小时前
【Qt开发】Qt系统(十二)-> Qt视频
c语言·开发语言·c++·qt·音视频
AI量化价值投资入门到精通10 小时前
数据清洗:大数据领域的必备技能
大数据·开发语言·ai·php
好奇龙猫10 小时前
【大学院-筆記試験練習:线性代数和数据结构(24)】
学习
浅念-10 小时前
C语言文件操作
c语言·c++·经验分享·笔记·学习
Ivanqhz10 小时前
向量化计算
开发语言·c++·后端·算法·支持向量机·rust
1104.北光c°10 小时前
【黑马点评项目笔记 | 商户查询缓存篇】基于Redis解决缓存穿透、雪崩、击穿三剑客
java·开发语言·数据库·redis·笔记·spring·缓存
格林威10 小时前
相机的“对焦”和“变焦”,这二者有什么区别?
开发语言·人工智能·数码相机·opencv·算法·计算机视觉·视觉检测