有什么区别:
char fast_car[15]="Bugatti";
和
char fast_car[15];
fast_car="Bugatti";
因为第二个导致编译错误:
错误:从类型“char *”分配给类型“char [15]”时类型不兼容</p>
虽然第一个工作正常。将字符串放在数组中与数组初始化不同的位置会很有帮助。
有什么区别:
char fast_car[15]="Bugatti";
和
char fast_car[15];
fast_car="Bugatti";
因为第二个导致编译错误:
错误:从类型“char *”分配给类型“char [15]”时类型不兼容</p>
虽然第一个工作正常。将字符串放在数组中与数组初始化不同的位置会很有帮助。
第一个是初始化,第二个是赋值。由于数组在 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" 数组的分配因值的不同类型而不正确。