字符串常量与字符数组的区别

  • Post author:
  • Post category:其他


字符数组

str[] = “www.baidu.com”

第二种形式的字符串(即字符串常量)

char *str = “www.baidu.com”

它们最根本的区别是在内存中的存储区域不一样,字符数组存储在全局数据区或栈区,第二种形式的字符串存储在常量区。全局数据区和栈区的字符串(也包含其他数据)有读取和写入的权限,而常量区的字符串(也包括其他数据)只有读取数据权限,没有写入权限。

#include <stdio.h>
int main(){
    char *str = "Hello World!";
    str = "I love C!";  //正确
    str[3] = 'P';  //错误
    return 0;
}



版权声明:本文为weixin_45835045原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。