指针作为返回值
来源:互联网 发布:手机淘宝帐号注册流程 编辑:程序博客网 时间:2024/05/01 12:18
1、当使用指针做为函数的返回值时,主函数处的char *p;将获得调用函数char *pf;的值,即一个地址值,如oxAE72。此时需要我们注意的是该地址值所指向的空间是否存在(即已向操作系统声明注册,不会被释放,即可能被其他操作修改);
2、使用栈内存返回指针是明显错误的,因为栈内存将在调用结束后自动释放,从而主函数使用该地址空间将很危险。
例如:
char* GetMemory(){ char p[] = "hi"; return p;}void main(){ char *str = GetMemory(); //出错! 得到一块已释放的内存 printf(str);}
3、使用堆内存返回指针是正确的,但是注意可能产生内存泄露问题,在使用完毕后主函数中释放该段内存。
例如:
char* GetMemory(){ char *p = new char[100]; return p;}void main(){ char *str = GetMemory(); delete [] str; //防止内存泄露!}
1 0
- 指针作为返回值
- 指针作为返回值
- 指针作为函数返回值
- 动态指针变量不能作为返回值!
- 指针作为函数的返回值
- 指针作为函数的返回值
- 【C++】指针作为函数的返回值
- C语言指针作为函数返回值
- 玩转指针-指针作为函数的返回值
- 指针变量作为返回值,子函数中指针内存管理
- 41,指针作为返回类型
- 数组指针,指针数组,函数指针,指针作为形参和返回值的注意事项
- 指针作为函数返回值需要注意的情况
- 069.Pointer 指针作为函数的返回值
- 关于C 指针作为返回值的问题
- 069.Pointer 指针作为函数的返回值
- c++ 函数指针作为返回值,链式编程
- 用C语言指针作为函数返回值
- Json解析,FastJson解析
- 三国佚事——巴蜀之危
- python 替换数据库中文本中特殊字符
- php 安装xdebug扩展
- javascript数据类型
- 指针作为返回值
- Kali2.0 update到最新版本后安装shadowsocks服务报错问题
- 嵌入式的童年-第19课:安装Linux系统到开发板
- pod报错
- bzoj4009 [HNOI2015]接水果
- 如何用两个栈实现队列的功能
- 缓存,缓存系统
- WebView的简单使用
- gcc/g++ 实战之编译的四个过程