Что такое объект в C?
Я не говорю об объекте в С++ или Objective C. Я пытаюсь понять, что означает "объект" в контексте этот текст:
Если объявление идентификатора области видимости для объекта или функции содержит спецификатор-хранилище static, идентификатор имеет внутреннюю привязку. В противном случае идентификатор имеет внешнюю связь. См. Классы хранения для обсуждения нетерминала-спецификатора класса хранения.
В пределах одной единицы перевода каждый экземпляр идентификатора с внутренней связью обозначает один и тот же идентификатор или функцию. Внутренне связанные идентификаторы уникальны для единицы перевода.
Я уже видел слово "объект" в других разных темах C. Но когда я это Google, я получаю ссылки только на С++.
Я прочитал также здесь и здесь.
Ответы
Ответ 1
Термин object определяется стандартным разделом C11 3.15:
объект
область хранения данных в среде исполнения, содержимое которой может представлять Значения
Текст на вашей ссылке MSDN скопирован (без атрибуции!) из раздела 6.2.2/3 стандарта C11.
Для интерпретации этого определения область хранения данных является ключевой частью. Все переменные являются объектами, а объекты также могут быть выделены через malloc
.