在很多情况下我们都会把关于一些内存的操作的步骤给封装起来,这样会带来很大的好处,方便我们使用,下面谈一个经常可能会犯的低级错误。这种情况是假如我想把初始化某一部分的操作封装成这样的函数void Init(char* p) 很有可能我们会这样做:
void Init(char* p) {
p = (char *) malloc(sizeof(char)*MAX);
.........
}
其实这样的做法是错误的,如果这样写的话,你和下面的代码又有什么区别呢?
void Init(int a) { int b = 0; a = b;}</