char*指针定义的字符串只能读不能修改;char []定义的字符串可读可修改。
这是因为char *a = “abcd”; 此时"abcd"存放在内存的常量区。常量区只能读,而不可以修改。
而char a[20] = “abcd”; 此时 "abcd"存放在栈区。可以通过指针去访问和修改数组内容。
我们在编码过程中如果只是涉及到对字符串的读取,那么字符数组和字符串常量都能够满足要求,如果有写入(修改)操作,那么只能使用字符数组,不能使用字符串常量。
char*指针定义的字符串只能读不能修改;char []定义的字符串可读可修改。
这是因为char *a = “abcd”; 此时"abcd"存放在内存的常量区。常量区只能读,而不可以修改。
而char a[20] = “abcd”; 此时 "abcd"存放在栈区。可以通过指针去访问和修改数组内容。
我们在编码过程中如果只是涉及到对字符串的读取,那么字符数组和字符串常量都能够满足要求,如果有写入(修改)操作,那么只能使用字符数组,不能使用字符串常量。