sizeof
- ключевое слово C. Он возвращает размер в типе с именем size_t
. Однако size_t
- это не ключевое слово, но оно определяется главным образом в stddef.h
и, возможно, также в других файлах заголовков стандартного C.
Рассмотрим сценарий, в котором вы хотите создать программу на языке C, в которой не не содержится никаких стандартных заголовков или библиотек стандарта C. (Например, если вы создаете ядро ОС.) Теперь в таком коде можно использовать sizeof
(это ключевое слово C, поэтому оно является частью языка), но тип, который он возвращает (size_t
) недоступен!
Разве это не означает какую-либо проблему в стандартной спецификации C? Можете ли вы это уточнить?