#include <stdio.h>

char *func()
{
    static char a[] = "hello world";
    return a;
}

int main()
{
    printf("%s\n", func());
	return 0;	
}

由下图可知,当字符串数组a定义成静态的时候,它的生命周期与程序的生命周期一样。
若不定义成 static 型,则数组 a 在调用完func函数后被释放掉了,无法作为返回值。
函数以数组为返回值

相关文章:

  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
  • 2021-11-04
猜你喜欢
  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案