Рубрики

Викторина С — 108 | Вопрос 5

В файле C (скажем, sourcefile1.c) массив определяется следующим образом. Здесь нам не нужно явно указывать размер произвольного arr в [], потому что размер будет определяться количеством элементов, используемых при инициализации.

int arr[] = {1,2,3,4,5};

В другом C-файле (скажем, sourcefile2.c) тот же массив объявлен для использования следующим образом:

extern int arr[];

В sourcefile2.c мы можем использовать sizeof () для arr, чтобы узнать фактический размер arr.
(A) ИСТИНА
(B) ЛОЖЬ

Ответ: (Б)
Объяснение: Во-первых, оператор sizeof () работает во время компиляции. Поэтому использование sizeof для arr в sourcefile2.c не будет работать, потому что arr в sourcefile2.c является неполным типом. Обратите внимание, что arr в sourcefile1.c является полным типом, потому что размер массива был определен во время компиляции из-за инициализации.
Тест на этот вопрос

Рекомендуемые посты:

Викторина С — 108 | Вопрос 5

0.00 (0%) 0 votes