char *指针与char []数组的区别

char *str = "hello";
char arr[] = "hello";

以上定义中str和arr差别很大,str是一个初值指向"hello"字符串常量的指针,这个指针可以指向其他地址,但是不能通过指针修改字符串的值。访问后会出现egmentation fault (core dumped)错误。

arr是一个刚好容纳"hello"和’\0’的数组,可以通过数组的首地址来访问和修改数组元素。

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页