1 字符串和字符数组区别

const char * arr = “123”;

char * brr = “123”;

const char crr[] = “123”;

char drr[] = “123”;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const char * arr = "123";
//字符串123保存在常量区,const本来是修饰arr指向的值不能通过arr去修改,但是字符串“123”在常量区,本来就不能改变,所以加不加const效果都一样

char * brr = "123";

//字符串123保存在常量区,这个arr指针指向的是同一个位置,同样不能通过brr去修改"123"的值

const char crr[] = "123";

//这里123本来是在栈上的,但是编译器可能会做某些优化,将其放到常量区

char drr[] = "123";

//字符串123保存在栈区,可以通过drr去修改

字符串和字符数组作为参数