Синтаксический запрос Objective C - PullRequest
0 голосов
/ 20 января 2012

Извиняюсь или спрашиваю, что, вероятно, очень простой вопрос, но я новичок в языках C-Syntax в целом и нашел то, что меня смутило.

Я видел несколько примеров фрагментов кода, которые создают объект CGFloat, а затем, кажется, обрабатывают их как неявный массив некоторого вида, например.

CGFloat newFloat[3] = {value1,value2,value};

Является ли это общепринятой концепцией в задаче C для создания массивов или это нечто встроенное в CGFloat для передачи трехмерных точек в пространстве?

Большое спасибо за любую помощь.

Ответы [ 2 ]

3 голосов
/ 20 января 2012

Это не неявный массив, левая часть явно объявляет переменную, которая является массивом CGFloat длиной 3. Синтаксис фактически является частью стандарта C.

3 голосов
/ 20 января 2012

Это называется инициализацией массива и является частью языка.

Часть {value1,value2,value} называется инициализатором и может использоваться с правой стороны присвоения при определении массива.Когда количество элементов в инициализаторе соответствует указанному размеру массива, вам фактически не нужно явно указывать размер:

CGFloat newFloat[] = {value1, value2, value};

Это облегчает обслуживание, поскольку добавление нового элемента вend также не заставляет вас обновлять размер.

Такие инициализаторы также поддерживаются для структур.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...