求解释,关于字符串何时分配空间
和人讨论字符串的问题,自己写代码测试的时候发现个问题
程序代码:#include<stdio.h>
#include<string.h>
main(){
char a[]="abcdefg";
char b[]="xyz";
strcpy(a,b);
printf("%s\n%s",a,b);
}这段代码没问题
程序代码:#include<stdio.h>
#include<string.h>
main(){
char *a="abcdefg";
char *b="xyz";
strcpy(a,b);
printf("%s\n%s",a,b);
}这段代码却会出错,这是不是说明在定义字符指针时直接用字符串初始化,这个字符串没有分配空间啊,可是如果没有分配空间它是怎么存储的呢?








