2013-11-30 4 views
-2

Существуют ли различия между этими двумя объявлениями?Различия между объявлением указателя

int* a; 
int *a; 

Или эти два объявления одинаковы (указатель на целое число)?

+0

Хорошо, что сказал ваш книжка для начинающих C? –

+4

Это точно такое же объявление, что и компилятор C. Это вопрос стиля и личного предпочтения, какой вариант использовать. – suspectus

+0

Я не совсем начинаю С. Я прошу об этом, потому что gcc давал мне предупреждение, когда я использовал первый стиль со структурой. – Guilherme

ответ

7

Они точно такие же, но вот небольшая ошибка, с которой я столкнулся, когда впервые учился C лет назад. * Привязывается к переменной , а не к типу. Это означает, что

int* a, b; 

Объявляет a как указатель на Int и b как Int. Чтобы объявить как указатели, нужно делать.

int *a, *b; 

Вот почему я предпочитаю поместить * рядом с именем.

+1

подробнее здесь;) http://stackoverflow.com/questions/15212126/difference-between-char-var-and-char-var –

+0

@JoeDF Как ни странно, это мои точные обозначения! Благодаря! – Guido

+0

Хорошо, спасибо. Я прошу об этом, потому что gcc давал мне предупреждение, когда я использовал декларацию «struct foo * pointer». – Guilherme

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