Является ли "char * p1; p1 = str;" таким же, как "char * p1 = str;" в c ++? - PullRequest
2 голосов
/ 13 декабря 2011

Я просто хотел бы знать, являются ли следующие утверждения одинаковыми:

char str[80];    
char *p1;
p1 = str;

и

char str[80];    
char *p1 = str;

Спасибо

Ответы [ 3 ]

6 голосов
/ 13 декабря 2011

Да, утверждения те же.

4 голосов
/ 13 декабря 2011

Да.

В первом примере значение str присваивается переменной p1 (базовое назначение символов в символы).

Во втором примере вы объявляете p1 какуказатель, указывающий на значение str.

2 голосов
/ 13 декабря 2011

Да. В обоих случаях происходит неявное преобразование массива в указатель, и указатель инициализируется по адресу первого элемента массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...