今天产品同事问了个文件系统相关的问题,平台这边的文件系统自己组织,定义了个结构体数组,数组里面有个字符指针,在产品调用相关接口函数时将函数名(其实是个字符串)赋给该指针。产品同事说这样有问题,说没有给指针申请空间,就直接用了,他这么一问我也懵了,平台一直在用,没有问题啊,百度了一下有如下解答:
问题:
?如下代码:
char *GetString(void) { char p[] = "hello world"; return p; } void Test4(void) { char *str = NULL; str = GetString(); cout<< str << endl; } // char p[] = "hello world"; 这句helloworld 常量在静态区,会随着函数结束消失吗?
解答: