指针
来源:互联网 发布:淘宝苹果电脑有假货吗 编辑:程序博客网 时间:2024/06/03 22:34
1
对于返回值为指针的函数,当指针指向的内存为栈内存时,调用函数是得不到原来函数里指针所指内容的。因为函数返回时,会释放栈内存空间。如:
char * getMemory(){ char p[] = "hello"; return p;}int main(){ char * str = getMemory(); printf(str); printf(“\n"); return 0;}
输出结果为空。
但是当返回的指针指向的内存为堆内存时,能得到指针指向的空间,因为函数返回时不释放堆空间。所以注意在函数调用后记得释放,否则内存泄漏。如:
char * getMemory(){ char *p = (char *) malloc(10); return p;}int main(){ char * str = getMemory(); strcpy(str, "hello"); printf("%s\n",str); return 0;}
输出结果:
hello
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- POJ 1094 Sorting It All Out
- 归纳一下:C#线程同步的几种方法
- Spring+Hibernate+Struts2整合所需要的Jar包
- Windows phone 7之页面布局
- *** is not in the sudoers file 问题解决
- 指针
- Struts2.1.6+Spring2.5.6+Hibernate3.3.2+mysql整合+分页模板
- CF 6E Exposition(RMQ | 线段树,二分)
- Mysql (控制台,C++,Java,PHP等等)各种中文乱码的详细解释
- 虽然很累 但是很充实
- SAP ABAP 函数总结 常用函数解释 转
- SAP HR信息类型增强/及信息类型维护事务码(时间限制等)SM30
- uva_297-Quadtrees
- 屏幕设计—实现输入字段的下拉列表