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

两种方式的比较:

相关推荐
毋语天2 分钟前
Python 常用内置模块详解:日志、随机数、时间、OS 与 JSON
开发语言·python
右耳朵猫AI8 分钟前
Python技术周刊 2026年第14周
开发语言·python·okhttp
爱喝水的鱼丶11 分钟前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载) 第三篇:ADT常用开发插件与个性化配置教程
数据库·学习·sap·abap
叼烟扛炮17 分钟前
C++ 知识点22 函数模板
开发语言·c++·算法·函数模版
GHL28427109019 分钟前
python通过API调用Coze智能体学习
学习·ai
Jackyzhe30 分钟前
从零学习Kafka:生产者压缩
分布式·学习·kafka
求学中--32 分钟前
鸿蒙网络请求从入门到精通:HttpURLConnection+第三方库,GET/POST/文件上传全覆盖
开发语言·php·harmonyos
yaodong51837 分钟前
Gemini长上下文重塑RAG架构
开发语言·php
风味蘑菇干38 分钟前
继承 + static + final 综合应用
java·开发语言
IT策士40 分钟前
Python 面试系列:常见 100 个经典面试问题,从入门到进阶
开发语言·python·面试