作业帮 > 综合 > 作业

为什么这个语句有错误,我被这个语句弄的有点懵:看下面:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 07:08:28
为什么这个语句有错误,我被这个语句弄的有点懵:看下面:
char*str;str=‘a’;
为什么这样就是正确的:char*str;str="a";
指针的状态只要3种是合法的
1.指针指向常量0;如char *a=0;
2 指针指向一个类型相符的地址 如char b='a'; char *a=&b;
3指针指向一个特定对象的下一地址
你让指针指向一个字符常量 显然不是3种合法状态之一
再问: 那为什么这样就是正确的:char*str;str="a";
再答: "a"是一个字符串常量 其是由{'a','\0'}组成,他是一个数组 ; str="a"想当于str={'a','\0'},str指向的是一个数组的首地址