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

两种方式的比较:

相关推荐
持力行4 小时前
从C struct到C++中的class
c语言·c++
meilindehuzi_a5 小时前
从零理解并实现 RAG:用 LangChain.js 构建语义检索问答系统
开发语言·javascript·langchain
风流 少年6 小时前
Julia
开发语言·julia
江畔柳前堤6 小时前
GO01-Go 语言与主流编程语言深度对比
开发语言·人工智能·后端·微服务·云原生·golang·go
:-)7 小时前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
GIS阵地7 小时前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
寒月小酒8 小时前
第三章 索引构建(2-all -in-rag学习)
学习
yaoxin5211238 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
天国梦8 小时前
中学生居家英语听力训练深度解析:从核心痛点到AI赋能的全链路方案
人工智能·学习
阿里嘎多学长9 小时前
2026-07-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管