char *str = "hello";
char arr[] = "hello";
以上定义中str和arr差别很大,str是一个初值指向"hello"字符串常量的指针,这个指针可以指向其他地址,但是不能通过指针修改字符串的值。访问后会出现egmentation fault (core dumped)
错误。
arr是一个刚好容纳"hello"和’\0’的数组,可以通过数组的首地址来访问和修改数组元素。
char *str = "hello";
char arr[] = "hello";
以上定义中str和arr差别很大,str是一个初值指向"hello"字符串常量的指针,这个指针可以指向其他地址,但是不能通过指针修改字符串的值。访问后会出现egmentation fault (core dumped)
错误。
arr是一个刚好容纳"hello"和’\0’的数组,可以通过数组的首地址来访问和修改数组元素。