注意数组在栈使用后会被销毁
char *get() {
char data[16] = “hello, world”;
return data;
}
void main(void) {
char *p = get();
printf(“%s”, p);
}
这是一道哔哩哔哩的真题,其中注意get返回data的指针,但是在栈空间中,get函数结束data就会被销毁,p就会指向一个毫无意义的地方,输出p可能就会出现乱码。
![]() |
![]() |
/>