C/C++函数里的指针参数也是按值传递的
刚在网上上看到一个帖子,作者自己写了个strcpy函数。别的不看了,只看看函数的第一句话: void *strcpy(void *dest ,const void *src,size_t n) ...{ if(dest==NULL) dest=(char * )malloc(n); // ...... } 乍一看,这句话似乎没什么问题,甚至还做了参数判断,如果dest为空则为其分配空间。但是,问题恰好出在这个画蛇添足的malloc上! 要知道,不管这个函数里面做了怎样的修改,在函数返回后,dest的值是不会改变的!也是说,如果传入的dest为NULL,那么在返回后,d
下载地址
用户评论