char*及char[]申请内存空间区别

来源:互联网 发布:淘宝话费券怎么用 编辑:程序博客网 时间:2024/06/06 03:40

在程序员面试宝典中看到这两种申请内存方式,瞬间发觉自己还是too young too simply

1、char *strA()

{

char str[] = "hello word";

return str;

}

2、char *strA()

{

char* str = "hello word";

return str;

}

这两种写法具有很大的区别

第一种申请的为局部变量,当函数调用完成后,该块内存(对应于内存中的栈)就被销毁。申请的空间无法进行访问

第二种申请的为全局变量,当函数调用完成后,该块内存依然存在(存在于内存中的全局区域)。申请的空间依旧可以进行访问


0 0