2010-08-23 2 views
0

Можно создать дубликат:
What’s your preferred pointer declaration style, and why?Где вы должны поместить * при объявлении указателя в C?

Должна ли она быть:

center: int * number; 
left: int* number; 
right: int *number; 

Я вижу левую как тип центрической право один, как имя переменной, ориентированной, и центр один как агностик, но я действительно не уверен. Есть ли смысл в определенных ситуациях, а не в других? Я хотел бы сделать это правильно, хотя я слышал его субъективность. (что делают большинство людей?)

При разыменовании переменная * имеет наибольший смысл, поскольку вы выполняете действие над переменной, но декларация не такая ясная.

+0

Прошу прощения, если это был дубликат ... я должен удалить его? –

+0

Я думаю, что лучше идти вперед и удалять. (У нас здесь так много вопросов, теперь становится все труднее сказать, копируете ли вы другой.) –

ответ

4

Для большинства людей это вопрос выбора. Однако, обратите внимание, что могут быть сбиты с толку новичка C следующее:

int* myPointer, 
    myInt; 

как оба являются указателями. Таким образом, это мое мнение, что если вы собираетесь разрешить этот тип декларации в пределах вашего кода места его следующим образом:

int *myPointer, 
    myInt; 

так, что это не так сбивает с толку. Во втором, более очевидно, что * принадлежит myPointer, а не myInt. (В идеале вы оставите каждую переменную, чтобы иметь свою полную декларацию.)

Смежные вопросы