面试的经典问题--函数中开空间
来源:互联网 发布:网络专科学历找工作 编辑:程序博客网 时间:2024/06/05 19:12
查看运行结果
1.
void GetMemory(char *p){ p = (char *) malloc(100);}int main(){ char *str = NULL: GetMemory(str); strcpy(str,"hello world"); printf("%s",str);}
运行结果:崩溃:p的地址没有带出来;
2.
char * GetMemory(){ char p[] = "hello world"; return p;}int main(){ char *str = NULL; str = GetMemory(); printf(str);}
运行如果:随机的,乱码;p是一个局部变量,随着栈帧的回退,不存在
3.
void GetMemory(char **p,int num){ *p = (char*)malloc(num);}int main(){ char *str = NULL; GetMemory(str,100); strcpy(str,"hello world"); prinf(str);}
运行结果:正常运行,但是存在内存泄漏;
4.
void test(){ char *str = (char *)malloc(100); strcpy(str,"hello world"); free(str); if(str != NULL) { strcpy(str,"world"); peintf(str); }}
运行结果:非常危险;可能直接崩溃;str是一个野指针;
阅读全文
0 0
- 面试的经典问题--函数中开空间
- 面试中经典函数的实现
- 面试的经典问题
- 面试的经典问题
- 面试中常见的五个问题经典分析(转载)
- 面试中八大经典问题的对应方法
- 几个经典的面试问题
- 经典的HR面试问题
- 十个面试经典问题的经典回答
- 九个经典面试问题的经典回答
- 面试中经典的算法
- C++中多线程面试经典问题
- js经典面试问题:如何让for循环中的setTimeout()函数像预想中一样工作?
- 面试的27个经典问题 [推荐]
- 面试的27个经典问题 [推荐]
- 面试的27个经典问题
- 面试的27个经典问题
- 面试的27个经典问题
- leetcode House Robber
- Eclipse通过git上传项目到github
- 简易扫雷游戏实现
- magento 按支付方式收取交易费
- linux命令
- 面试的经典问题--函数中开空间
- #脉冲压缩仿真及源码
- 第九周—大学生学费(接口)
- 2017年10月29日训练总结
- python if __name__ = '__main__'
- 概率学习线路
- ICCV 2017:训练GAN的16个技巧,2400+星(PPT)
- JAVA调用OPENCV中DNN.Darknet接口进行目标检测测试(代码备份)
- 1.AJAX