面试 - 内存思考题
来源:互联网 发布:java 字符串 编辑:程序博客网 时间:2024/06/06 01:13
内存思考,写出程序的可能结果,如果程序出错标记哪里出错,并指出出错原因。
1、
void GetMemory(char *p){ p = new char[100];}void main(){ char *str = NULL; GetMemory(str); strcpy(str,"Hello world"); printf("%s\n",str);}典型的值传递问题,str并不会因为函数GetMemory获得空间的指向地址,它的值仍然是NULL,向里面拷贝字符串会导致报错。
2、
char *GetMemory(){ char p[] = "Hello World"; return p;}void main(){ char *str = GetMemory(); printf("%s\n",str); }
典型的函数局部变量被释放问题,str指向的空间已经被释放,所以里面的值是乱码。
3、
char *GetMemory(){ char *p = "Hello world"; return p;}void main(){ char *str = GetMemory(); printf("%s\n",str);}
这个是正确的
0 0
- 面试 - 内存思考题
- 有关内存的思考题
- 有关内存的思考题
- 内存的思考题
- 有关内存的思考题
- 请教内存的思考题
- 有关内存的思考题
- 有关内存的思考题
- 有关内存的思考题
- 有关内存的思考题
- 有关内存的思考题
- C语言内存思考题
- 有关内存的思考题
- 内存的思考题
- 谈谈林锐书中的内存思考题
- C++/C有关内存思考题
- C有关内存的思考题
- 思考题
- 《数据结构》实验三:栈和队列实验
- eclipse内存调优
- 初试虚幻4引擎感想
- Linux文件系统的设计
- Android WIFI 联接不加密热点总是失败 addNetwork总是返回-1
- 面试 - 内存思考题
- HDU 1870 愚人节的礼物
- Linux文件系统简介
- 第11周项目1-函数版星号图(1)
- Erlang与C构建的节点通讯
- 共享锁与排他锁异同
- Linux操作系统文件系统基础知识详解
- 外观模式
- iOS - GCD小结