void f (char* p){p = (char*)malloc(100);}void main(){char* str = 0;f(str);strcpy(str,“hello world”);printf(str);system(“pause”);}
调用子函数只是修改了局部的指针所以调用完以后赋值字符串可能就非法访问内存了