3. 字符数组和字符指针

3.1 看下面两个声明
char *str = "Hello World!";
char str1[] = "Hello World!";
3.2 字符数组和字符指针的区别
1. 字符数组和任何其他数组一样,数组元素可以被修改,而字符指针保存的是字符串字面量,不能被修改。
2. 声明为字符数组时str1为数组名称,而声明为字符指针时str为指针变量,可以被重新赋值。
3.3 如果需要可以修改的字符串,必须声明为字符数组,字符指针是不够的。

#include <stdio.h>
void test4(){
           char *str = "Hello World!\n";
           char str1[] = "Hello World!\n";
           printf(str);
           printf(str1);

           // H被修改为小写h
           str1[0]='h';
           printf(str1);
           // 错误,printf不被打印
           str[0] = 'h';
           printf(str);
}
int main(void){
           test4();

}

该博客教程视频地址:http://geek99.com/node/1010

原文出处:http://geek99.com/node/867#