C语言中,将结构体指针传入函数后,内存地址没变,内存数据发生变化
来源:互联网 发布:java rmi漏洞解决 编辑:程序博客网 时间:2024/05/22 05:13
C语言中,将结构体指针传入函数后,内存地址没变,内存数据发生变化:
rgbBlockInfo_t *rgbBlockInfo = NULL;
/*获得地址*/
rgbBlockInfo = fileToRgbBufBlock(rgbBufInfo, "D:\\picData\\pens.rgb");
/*将地址传入函数*/
rgbFileWrite(rgbBlockInfo, "D:\\picData\\pens2.rgb");
传入函数后发现内存地址没有变化,但是内存地址指向的数据发生了变化。
传入前:
传入后:
所以,作为菜鸟的我,很疑问是哪里有修改内存中的值?
今天研究了一下,在fileToRgbBufBlock函數中,定义了局部变量rgbBlockInfo_t rgbBuf,最后通过return的方式将局部变量的地址返回。
问题就出现在这里,因为rgbBuf,是局部变量,在函数调用完成以后就会被释放。所以内存中的值会被释放掉。
- C语言中,将结构体指针传入函数后,内存地址没变,内存数据发生变化
- c语言中通过指针将数值赋值到制定内存地址
- c语言中通过指针将数值赋值到制定内存地址
- C语言 结构体指针需要申请内存但函数定义指针不需要申请
- C/12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存
- 关于C语言中一,二级指针函数中的使用和c语言中和函数发生调用时,实参和形参都会占用内存吗?
- c 语言结构中成员函数占用内存吗
- c语言中较常见的由内存分配引起的错误_内存越界_内存未初始化_内存太小_结构体隐含指针
- c语言中较常见的由内存分配引起的错误_内存越界_内存未初始化_内存太小_结构体隐含指针
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
- C语言-函数指针+动态内存分配
- 一种C语言变参函数、变参宏、利用void*传播多个参数、通过内存地址和struct匹配这个地址做内存而获得多个数据的混合例子
- C语言,内存对齐,内存分配,地址操作,结构体(一)
- C语言,内存对齐,内存分配,地址操作,结构体(二)
- C语言的内存与地址(C和指针)
- C/C++中关于地址、指针和引用变量的学习笔记(九) : 内存结构
- 12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
- pywinauto登陆QQ
- Jsoup 乱码问题解决
- JSP中使用CKEditor3.6入门教程
- Visual Studio 2012 - Visual C++ CMFCToolBar Class
- ios百度地图api地图显示不正常
- C语言中,将结构体指针传入函数后,内存地址没变,内存数据发生变化
- UVA 10912 Simple Minded Hashing
- jQuery easyui layout布局自适应浏览器大小
- 开发可统计单词个数的Android驱动程序(1)
- Linux输入子系统
- 若已经用apt-get安装tomcat6了,但是想用自己安装的tomcat7,却老是显示tomcat6
- SQL语句的表名称最好都用中括号括起来
- 登录注册验证
- 数学经典题目