Я хочу назначить массив другому массиву. Оба массива не имеют одинаковый размер:Как назначить массив символов другому массиву символов с другим размером в C
char array1[7] = "abcdefg";
char array2[3];
Как я могу назначить три (3) значения из array1 в массив 2? Я попробовал так:
array2[3] = {array1[2], array1[3], array1[4]};
и стать я бы следующее сообщение об ошибке:
expected expression before ´{´token
Я знаю, что я могу использовать (memcpy()
), когда массивы имеют одинаковый размер.
У меня больше опыта с VHDL и verilog. В VHDL это может выглядеть так:
array2 := arry1(2 upto 4);
Но у меня нет большого опыта программирования С.
Спасибо
Что не так с использованием 'memcpy', когда размеры разные? – Kevin
Вы можете использовать 'memcpy()', если область непрерывна (и не перекрывается): 'memcpy (array2, arrray1 + 2, 3);' – MikeCAT
Просто потому, что вы знаете, что VHDL не означает, что речь идет об этом. Удаленный тег. – Olaf