Назначение массива char значения в C
в чем разница между:
char fast_car[15]="Bugatti";
и
char fast_car[15];
fast_car="Bugatti";
потому что второй результат с ошибкой компиляции:
ошибка: несовместимые типы при назначении типа 'char[15]' из типа 'char *'
в то время как первая работает нормально. Было бы полезно поместить строку в массив в другом месте, чем инициализация массива.
2 ответов
первое-это инициализации вторая -задание. Поскольку массивы не являются изменяемыми значениями в 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" неверно по типу разности значений.