2013-12-03 3 views
-1

Я новичок в программировании и после того, как я изучил основы CI не понимают следующие ключевые слова:Что это слово означает в языке Си

  1. (*char)
  2. a -> b
  3. char**
+0

Вы поняли концепцию указателей? – Leeor

+0

Я настоятельно рекомендую прочитать книгу, а не бороться с основами языка. Выберите один из http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list. –

ответ

0

Вам нужна книга C! Я вам скажу, что это значит, хотя:

  1. (char) является переменным типом char завернутого в круглых скобках. Вы делаете это, когда находитесь typecast ing.

  2. a -> b как вы доступ к полю структуры, если a является указателем на структуру и b этого имя переменного поля.

  3. char * как вы заявляете, что что-то должно быть указателем на символ, как в char *c.

У них могут быть и другие значения. Зависит от контекста.

Вы редактировали свой вопрос!

  1. (*char), как вы бы разыменования переменной с именем char, если вы могли бы, но вы не можете, потому что char это ключевое слово.

  2. a -> b как вы доступ к полю структуры, если a является указателем на структуру и b этого имя переменного поля.

  3. char ** является указателем на указатель к char. Вы видите это, когда у вас есть массив строк.

+0

Обратите внимание на редактирование, оно восстановило некоторые символы, потерянные по пути – Leeor

+0

Ay yai yai! Это не справедливо! ;-) –

0

Для того, они являются:

  • разыменовываются char указатель (читай "значение на")

  • b, элемент чего-то указывает a

  • Указатель на char*, или указатель на указатель на char

+0

Действительно? Второй - это C++?Тогда как бы вы получили доступ к члену 'struct' в C, указав указатель на эту' struct'? – Praetorian

+0

'a -> b' может быть C тоже. –

+0

@Praetorian: Ваш третий вопрос не поддерживает вашу импликацию, что '->' определяется в C. (Это, но третий вопрос не поддерживает его.) Это потому, что если '->' не были определены в C , вы должны использовать '(* a) .b'. –

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