C 如何使用指针初始化字符数组?

C 如何使用指针初始化字符数组?,c,arrays,char,C,Arrays,Char,有人能分享一下为什么下面的程序会崩溃吗 void main() { char *arr = "abcd"; arr[3] = 'f'; } char*和char[]之间有区别!因此,这应该是可行的: #include <stdio.h> int main() { char arr[] = "abcd"; arr[3] = 'f'; return 0; } #包括 int main(){ 字符arr[]=“abcd”; arr[3]=

有人能分享一下为什么下面的程序会崩溃吗

void main() {

    char *arr = "abcd";
    arr[3] = 'f';
}

char*
char[]
之间有区别!因此,这应该是可行的:

#include <stdio.h>

int main() {

    char arr[] = "abcd";
    arr[3] = 'f';

    return 0;
}
#包括
int main(){
字符arr[]=“abcd”;
arr[3]=‘f’;
返回0;
}
有关更多信息,请参阅:


因为这是未定义的行为。