初始化和赋值是两个完全不同的操作,初始化的含义是创建变量时赋予其一个初始值,赋值的含义是把对象的当前值擦除,以一个新值来替代。
“I love U"是一个字符串字面值,在赋值语句中它会自动转换为char * 类型,而c是char [10]类型,两者类型不同,并且编译器不支持用指针给数组赋值。
数组和指针绝不是等价的,在问题中c的类型是char [10]而不是char *。虽然很多时候数组名会自动退化为指针:
但是在下述情况下数组名不会发生退化:
sizeof(c)
&c
字符串字面值赋值或初始化的时候