Цитата из ISO / IEC 9899: 2018 (C18), 6.2.5 (Типы) / 21:
" Arithmeti c типы и типы указателей все вместе называются скалярными типами. Типы массивов и структур вместе называются агрегатными типами. 47)"
47)" Обратите внимание, что агрегированный тип не включает тип объединения, поскольку объект с типом объединения может содержать только один член за раз."
" Каково точное определение скалярного объекта?"
Скалярный объект - это объект, который состоит только из одной сущности, такой как указатели и объекты арифметических c типов.
" Является b
скалярным объектом в этом случае?"
b
isn´ta scalar объект как скалярный объект содержит только одну единственную сущность. Такие массивы, как b
, являются « агрегатами ». Распад массива на указатель в scanf("%4s%4s", b, b);
и printf("%s", b);
не меняет того, что b
по-прежнему имеет тип массива.