在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”数组是不正确的值类型。