再看出参---分析GetMemory的错误
来源:互联网 发布:数据库中create table 编辑:程序博客网 时间:2024/06/08 03:00
先来上一个到处可见的错误程序实例:
#include <iostream>using namespace std;void GetMemory( char *p ){p = (char *)malloc(100);}int main(){char *str = NULL;GetMemory(str);strcpy(str, "hello world" );return 0;}我们来看一下错在哪里? 在main中调用GetMemory函数, str做的是入参, 这就有问题了, 既然是入参, 那又怎能指望GetMemory去改变它的值呢? 先把空指针传给p, 又对p进行赋值, 这是为哪般?
执行GetMemory后, str依然是空指针, 拷贝的时候, 自然崩溃。 修改方法是: 让str做出参(利用引用或者二维指针), 比较easy, 我就不多说了。
0 0
- 再看出参---分析GetMemory的错误
- GetMemory错误讲解与分析
- GetMemory函数的经典错误
- GetMemory的典型例子分析
- Getmemory考题分析
- GetMemory的详解
- GetMemory的典型例子
- GetMemory的详解
- GetMemory的典型例子
- GetMemory的典型例子
- GetMemory的问题汇总
- GetMemory的典型例子
- GetMemory的典型例子
- GetMemory的典型例子
- GetMemory的详解
- 再看的
- GetMemory
- GetMemory
- Ajax动态刷新元素js事件失效
- 高效的把NSMutableArray变成NSArray
- [水题][第一阶段-回归水题][HDOJ-2029]Palindromes _easy version
- ExpandableListView / ExpandableListActivity 使用及数据更新
- [Cordova学习]4.Cordova(iOS)架构和实现
- 再看出参---分析GetMemory的错误
- 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
- android 获取上一个activity返回值的方法
- 20150107 Eclipse安装了CDT后还是不能编写C和C++
- iOS TableView 使用(swift)
- HDU 1496 Equations
- 线性回归定义:
- The Rule of Three
- Coding convention from TL