Существуют ли различия между этими двумя объявлениями?Различия между объявлением указателя
int* a;
int *a;
Или эти два объявления одинаковы (указатель на целое число)?
Существуют ли различия между этими двумя объявлениями?Различия между объявлением указателя
int* a;
int *a;
Или эти два объявления одинаковы (указатель на целое число)?
Они точно такие же, но вот небольшая ошибка, с которой я столкнулся, когда впервые учился C лет назад. * Привязывается к переменной , а не к типу. Это означает, что
int* a, b;
Объявляет a
как указатель на Int и b
как Int. Чтобы объявить как указатели, нужно делать.
int *a, *b;
Вот почему я предпочитаю поместить *
рядом с именем.
подробнее здесь;) http://stackoverflow.com/questions/15212126/difference-between-char-var-and-char-var –
@JoeDF Как ни странно, это мои точные обозначения! Благодаря! – Guido
Хорошо, спасибо. Я прошу об этом, потому что gcc давал мне предупреждение, когда я использовал декларацию «struct foo * pointer». – Guilherme
Хорошо, что сказал ваш книжка для начинающих C? –
Это точно такое же объявление, что и компилятор C. Это вопрос стиля и личного предпочтения, какой вариант использовать. – suspectus
Я не совсем начинаю С. Я прошу об этом, потому что gcc давал мне предупреждение, когда я использовал первый стиль со структурой. – Guilherme