- 4
- 0
- 约2.89千字
- 约 4页
- 2017-05-16 发布于重庆
- 举报
使用指针做函数返回值和指针(栈内存与堆内存的函数形式使用)
一、使用指针做函数返回值:
1、当使用指针做为函数的返回值时,主函数处的char *p;将获得调用函数char *pf;的值,即一个地址值,如oxAE72。此时需要我们注意的是该地址值所指向的空间是否存在(即已向操作系统声明注册,不会被释放,即可能被其他操作修改);
2、使用栈内存返回指针是明显错误的,因为栈内存将在调用结束后自动释放,从而主函数使用该地址空间将很危险。
例如:
char* GetMemory()
{
char p[] = hi;
return p;
}
void main()
{
char *str = GetMemory(); //出错! 得到一块已释放的内存
printf(str);
}
3、使用堆内存返回指针是正确的,但是注意可能产生内存泄露问题,在使用完毕后主函数中释放该段内存。
例如:
char* GetMemory()
您可能关注的文档
最近下载
- 华为荣耀Honor特色应用,云服务Cloud+使用教程.docx VIP
- JJF(蒙) 004-2026 水泥胶砂试体成型振实台校准规范.docx VIP
- JJG(蒙) 145-2026 压缩氢气加气机检定规程.pdf VIP
- T∕CTCA 31-2026 纺织品 定量化学分析 氨纶与纤维素类纤维混合物 (8%次氯酸钠法).docx VIP
- T∕CATAGS 100-2025 民用飞机复合材料部件可靠性数据采集指南.docx VIP
- T∕CATAGS 94-2025 喷气燃料预过滤器通用技术规范.docx VIP
- T∕CATAGS 91-2025 T∕CCSAS 058-2025 通用机场供油安全运行管理规范.docx VIP
- T∕CATAGS 76-2023 喷气燃料过滤分离器性能要求.docx VIP
- T∕CATAGS 70-2023 旅客托运行李场外运输节点报文规范.docx VIP
- T∕CAEPI 112-2025 生态环境保护技术和工程评价指标体系.docx VIP
原创力文档

文档评论(0)