Мне немного неясно по этому вопросу, но, похоже, у вас есть набор переменных a, b, c, ..., z
, и вы хотите заполнить массив, чтобы он содержал a, b, c, ..., z, a, b, c, ..., z, a, ...
. Если это так, то, вероятно, проще всего поместить исходные переменные в их собственный однопроходный массив a, b, c, ..., z
и memcpy
в целевой массив, пока он не будет заполнен
#define NUM 3
int a, b, c; // source variables
void fill(int* arr, unsigned int size) {
int src[] = {a, b, c};
unsigned int i;
for(i = 0; i < size / NUM; i++)
memcpy(arr + (NUM * i), src, sizeof(int) * NUM);
memcpy(arr + (NUM * i), src, sizeof(int) * (size % NUM));
}