考虑以下代码:
char* foo(int myNum) { char* StrArray[5] = {"TEST","ABC","XYZ","AA","BB"}; return StrArray[4]; }
当我回到StrArray[4]呼叫者时,这应该有用吗?由于数组是在堆栈上定义的,当调用者获取指针时,该部分内存已超出范围.或者这个代码会起作用吗?
StrArray[4]
c stack
c ×1
stack ×1