char * ps 这里的 * 表示 ps是个char指针类型
第二行 * ps = "Happy" 中的 * 是取得char指针的第一个字符,所以不能赋值字符串
而第二段的char * ps = "Happy"是定义一个char指针,直接初始化指向一个字符串
第一段改为ps = "Happy"就正确了
很抱歉,该问题无法有代码或详细解释来回答,因为没有提供两个语句的具体内容和上下文信息。@、()、/、:、;和a等字符在不同的语句中可能具有不同的作用。需要更具体的信息才能回答该问题。请提供更多的上下文信息或具体的代码示例以便更好地解决该问题。
*ps = ... 这是往这个地址上写入
这种写法只能写入单个字符
并且 ps 是野指针,没有初始化
char buffer[100];
char *ps = buffer;
*ps = 'H'; 这是可以的
或者
strcpy(ps, "hello");
下面
char *ps = "Hello"; 这是字符常量
好比 char buffer[100] = "Hello";