int k[4] = {1,2,3,4}; int kk[4]; kk=k;
Я получаю несовместимые типы в назначении ??Нужно ли зацикливать и присваивать каждое значение в массиве, или есть более простой способ?
Спасибо
Вы должны выполнить цикл или использовать библиотечный вызов.
Один из вариантов будет memcpy(kk, k, sizeof(k));. Для этого вы должны #include <string.h>.
memcpy(kk, k, sizeof(k));
#include <string.h>
Да.Массивы не ведут себя как примитивные типы данных в C. Вы должны циклически перебирать массив и назначать каждое значение.Вы не можете просто назначить один массив другому (тем более что kk действительно является указателем на int).Не слишком сложно, хотя:
int i; for (i = 0; i < 4; i++) kk[i] = k[i];
Копирование старых добрых C-массивов отсутствует. Так что да, вы должны просмотреть и скопировать каждый элемент.