0
A
回答
6
是的。您正在返回一个指向具有自动存储持续时间的数组的指针。当函数返回指针无效时。
2
永不返回指针自动局部变量。
在你的情况下,一旦foo
返回,变量a
不存在,所以指向它的指针将是无效的(调用未定义的行为)。
+1
从技术上讲,返回的指针(p)将指向一些内存位置,它仍然被用作堆栈。但是,在您查看返回的指针时,不能保证其他内容不会覆盖该内存位置。即使你没有得到段错误或其他无效指针错误,你也不能指望它指向任何有用的东西。 –
相关问题
- 1. 这是一个悬挂指针?
- 2. 悬挂指针
- 3. 悬挂指针
- 4. 什么是悬挂指针
- 5. ARC导致悬摆指针
- 6. 为什么我的悬挂指针不会导致分段错误?
- 7. C悬挂指针问题
- 8. Realloc创建悬挂指针?
- 9. std :: make_unique的这种使用是否会导致非唯一指针?
- 10. 我的程序中是否有悬挂指针?
- 11. 此代码是否可以防止悬挂指针?
- 12. 这是否会导致内存泄漏?
- 13. 这是否会导致保留周期?
- 14. Lua:这是否会导致段错误
- 15. 这是否会导致内存问题?
- 16. 这是否会导致内存泄漏?
- 17. 这是否会导致内存泄漏?
- 18. 悬挂参考。悬挂指针和引用的替代品?
- 19. 如何使free()立即跟随赋值为NULL导致悬挂指针?
- 20. 指针魔术有时会导致SIGSEGV
- 21. 为什么这些指针会导致崩溃?
- 22. 这为什么会导致空指针异常?
- 23. 这段代码为什么会导致无效指针?
- 24. 这些C指针操作会导致问题吗?
- 25. 找到一个悬挂指针
- 26. 悬挂指针的“可视化”
- 27. 有什么不对?悬挂指针?
- 28. 指针和地址,该指针导致
- 29. 动态分配指针数组中的悬挂指针
- 30. ValueTypes是否会导致GC?
是的,因为当'foo'退出时,通过堆栈管理在C调用序列中释放持有'a'(在堆栈上)的内存。 – lurker