当前位置:   article > 正文

函数返回指针_函数返回头指针 数据结构

函数返回头指针 数据结构

如下代码输出结果是什么?

  1. #include<stdio.h>
  2. char *myString()
  3. {
  4. char buffer[6] = {0};
  5. char *s = "Hello World!";
  6. for (int i = 0; i < sizeof(buffer) - 1; i++)
  7. {
  8. buffer[i] = *(s + i);
  9. }
  10. return buffer;
  11. }
  12. int main(int argc, char **argv)
  13. {
  14. printf("%s\n", myString());
  15. return 0;
  16. }

解题思路:

函数char *myString()中没有使用new或者malloc分配内存,所有buffer数组的内存区域在栈区

随着char *myString()的结束,栈区内存释放,字符数组也就不存在了,所以会产生野指针,输出结果未知 

答案:

返回的野指针,内容未知。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/714933
推荐阅读
相关标签
  

闽ICP备14008679号