在c语言中定义一个字符串有两种方式
1、使用指针的方式定义字符串
char *s
= "hello";
这种方式可以给指针变量s赋予不同的地址,但是s所指向地址中的内容是不会变的。 也就是说指针的指向可以改变。但是所指向的内容是不能改变的。 因此使用指针的方式是不能操作所指向地址中的内容。
char *s
= "hello";
s
= "world";
char *s
= "hello";
*s
='w';
2、使用字符数组的方式定义字符串
char a
[] = "hello";
这种方式数组a只能对应一个内存区域,不能改变a的指向,但是能够改变a所对应的地址中的内容 指针的指向不能发生改变,但是所指地址的内容是可以改变的
char a
[] = "hello";
a
= "world";
char a
[] = "hello";
*a
= 'w';
a
[1] = 'o';正确;可以通过指针或下标改变所指向地址的内容;