“a”表示字符串,字符串长度等于内容加‘\0’的长度,所以是占用两个字节内存。‘a’表示字符,占用一个字节内存。而一个字符变量长度永远为1字节,所以前者写法错误,应该写成 char *a = "a"。
char a='a' 是合法的char a="a' 是不合法的char型不能为字符串,只能为字符
前面是错的。“a”为const char *, “a”= ‘a'+ '\0'。