Что означает символ * - PullRequest
       3

Что означает символ *

3 голосов
/ 19 апреля 2011

Итак ... скажем, у меня была такая функция ...

int function( const char *c )
{
 //do something with the char *c here...
}

что означает char *c? Я думаю о знаках вообще, я думаю, но я не понимаю, что делает * или как это меняет значение.

Ответы [ 9 ]

4 голосов
/ 19 апреля 2011

char *c означает, что c является указателем.Значение, на которое указывает c, является символом.

Таким образом, вы можете сказать char a = *c.

const, с другой стороны, в этом примере говорится, что значение, на которое указывает c, изменить нельзя,Таким образом, вы можете сказать c = &a, но вы не можете сказать *c = 'x'.Если вам нужен константный указатель на константный символ, вам нужно будет сказать const char* const c.

4 голосов
/ 19 апреля 2011

Это означает, что это указатель на данные типа char.

2 голосов
/ 19 апреля 2011

То pointer-to-char. Теперь, когда вы знаете это, вы должны прочитать это:

Об указателях символов в C

2 голосов
/ 19 апреля 2011

Указатель на символТо есть он содержит адрес, по которому расположен символ.

2 голосов
/ 19 апреля 2011

Это указатель на символ. Возможно, вы захотите почитать об указателях на C, там есть около миллиарда страниц, чтобы помочь вам сделать это. Например, http://boredzo.org/pointers/.

1 голос
/ 19 апреля 2011

Это указатель на тип char.Например, эта функция может взять адрес символа и изменить символ или копию указателя, который указывает на строку.Вот что я имею в виду:

char c = 'a';
f( &c );

- здесь передается адрес c, чтобы функция смогла изменить символ c.

char* str = "some string";
f( str );

Это передает "некоторую строку" f, но f не может изменить str.

Это действительно базовая вещь для c ++, это языки более высокого уровня (такие как Java или Python) не имеют.

1 голос
/ 19 апреля 2011

http://cslibrary.stanford.edu/ - лучший ресурс, на который я натолкнулся, чтобы узнать об указателях на C.Прочитайте все PDF-файлы, связанные с указателем, а также посмотрите видео с указателем в виде стрелки.

1 голос
/ 19 апреля 2011

Возможно, вы захотите прочитать страницу Const правильность , чтобы получить хорошее представление о указателе и const.

1 голос
/ 19 апреля 2011

Это означает, что аргумент должен быть указателем на символ.

Вы также можете разыменовать его с помощью *.

...