C语言字符数组、字符串的实质性问题。

2025-02-23 17:40:13
推荐回答(2个)
回答1:

char *str = "abc";是在常量区开辟一个内存,放字符串"abc",然后str指针指向这个常量区,而常量区有个特点:就是不能修改,如果你*str[2]='d'会报错
char str[] = "abc";是放在栈区,是可能修改的

回答2:

char *str = "abc"; 与 char str[] 是一样的,都是指向首地址。str只是个指针变量。