在char中为char数组赋值
有什么区别:
char fast_car[15]="Bugatti";
和
char fast_car[15]; fast_car="Bugatti";
因为第二个导致编译错误:
错误:从类型’char *’分配类型’char [15]’时出现不兼容的类型
虽然第一个工作正常。 将数组中的字符串放在与数组初始化不同的位置会很有帮助。
第一个是初始化 ,第二个是赋值 。 由于数组在C中不是可修改的值,因此无法为它们分配新值。
请注意,你可以修改数组内容 ,你不能说fast_car = ...
所以内容是可修改的, 数组本身不是 。
对于这些截然不同的概念,使用相同的符号=
值得商榷。
char fast_car[15]="Bugatti";
它说fast_car是一个数组,用字符串“Buratti”初始化。 正确用法:
char fast_car[15]; fast_car="Bugatti";
第一行是char数组的声明(未初始化)。 其次,fast_car只是这个char数组中第一个元素的地址(指针)。 将指针fast_car分配给char“Buratti”数组是不正确的值类型。