2012-04-29 2 views
0

Я столкнулся с вопросом от одного из моих друзей.Что означает этот синтаксис указателя в C?

В чем разница между ними?

* char ptr 
char * ptr 
+0

Я не думаю, что первый из них является действительным в С. – texasbruce

+0

Второй - допустимое объявление переменной, а первое - нет? Я думаю, вам нужно предоставить немного больше контекста для вашего вопроса. –

+0

Я был шокирован из-за первого. : D – qwertz

ответ

4

Это ошибка:

* char ptr; 

Объявляет ptr как переменная типа указатель на знак:

char * ptr; 
3

Первое объявление * char ptr не действует синтаксис C, так что именно поэтому вы получаете сообщение об ошибке во время компиляции. Второе объявление char * ptr является синтаксисом синтаксиса C, потому что сначала указывается тип, за которым следует символ «*» указателя и имя переменной.

1

Первая строка, * char ptr;, недействительна.

Вторая строка, char * ptr; объявляет переменную типа указатель на символ.

+0

Решите. :-) –

+0

@Adam О чем вы говорите? –

+0

Каждый раз, когда я пытался прочитать ваш ответ, появилось другое текстовое поле, указывающее, что оно только что было отредактировано. Мне нравится эта версия; он почти подходит мне. :-) –

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