Я пишу небольшую программу на C, чтобы сделать хруст, и мне нужно передать массивы между функциями. Функции должны принимать и возвращать указатели, правильно?
Например, это (я знаю, что это не самая эффективная вещь):
int* reverse(int* l, int len) {
    int* reversed = malloc(sizeof(*reversed)*len);
    int i, j;
    for (i = 0, j = len-1; i < len; i++, j--) {
        reversed[j] = l[i];
    }
    return reversed;
}
Я правильно использую указатели?
