关于指针回收问题
指针的回收和不回收问题弄不明白,请教各位!写了个测试程序:
程序代码:
#include<stdio.h> #include<stdlib.h> char **tes() { //定义一个指针数组 char *ch[4]; char **ret; ret=ch; //赋值 ch[0]="asdf"; ch[1]="fda"; //返回 return ret; //当函数结束后,这个指针是不是已经回收了?如果是,如何才能让他不回收,返回首地址首地址?请指教! } int main() { char **ret; ret=tes(); //输出,内存错误 for(int i=0; i<2; i++) { printf("%s",*ret[i]); } system("pause"); }