Для объявления структур стиль объявления typedef struct _name {...} name
восходит ко временам GCC 2.0 или около того, когда, как было упомянуто выше, у вас не может быть анонимной структуры.
Для имен иваров единственным символом подчеркивания является соглашение Apple о внутреннем кодировании, и официально компания Apple резервирует все имена, начинающиеся с одинарных символов подчеркивания. Если Apple называет все свои ивары таким образом, то вы не столкнетесь ни с одним из их имен, если не сделаете этого.
К сожалению, многие примеры проектов кода были опубликованы на веб-сайте Apple для разработчиков без прохождения кода и удаления начальных подчеркиваний в именах ivar. Это происходит по двум причинам, главная из которых заключается в том, что разработчики, работающие внутри Apple, имеют привычку называть свои переменные таким образом, а другая причина состоит в том, что люди, рассматривающие проекты примеров кода, на самом деле мало заботятся о применении стандартного кодирования. стиль.