LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

Какую херню?

Что указатели – это про динамическую память. Указатели – это не только про динамическую память.

Мне тут начали про проверку на ошибки втирать, чтобы как-то оправдать нововведение этого юзлессного синтаксического сахара.

P.S. Кстати, если передать в функцию массив, то ругнётся

Это самодеятельность GCC, а не стандарт языка.

Исходная версия hateyoufeel, :

Какую херню?

Что указатели – это про динамическую память. Указатели – это не только про динамическую память.

Мне тут начали про проверку на ошибки втирать, чтобы как-то оправдать нововведение этого юзлессного синтаксического сахара.

P.S. Кстати, если передать в функцию массив, то ругнётся: https://stackoverflow.com/questions/25680014/find-the-size-of-integer-array-received-as-an-argument-to-a-function-in-c

Ещё одна лалка не осилила сишку, а в комментах по ссылке куча лалак ей втарят.

#include <stdio.h>

#define ARRAY_SIZE(xs) (sizeof(xs) / sizeof((xs)[0]))

void print_array(int sz, int array[restrict sz]) {
  for(int i = 0; i < sz; i++) {
    printf("%d",array[i]);
    if(i < sz - 1) putchar(' ');
  }
}

int main(void) {
    int array[] = {1,2,3,4,5};
    print_array(ARRAY_SIZE(array), array);
    return 0;
}

Собирается с -Wall -Wextra -Werror без ошибок.