Re[13]: Инициализация массива строк
От: winogr  
Дата: 12.03.09 10:21
Оценка:
Здравствуйте, Bell, Вы писали:

B>Здравствуйте, winogr, Вы писали:


W>>попробуй скомпилить

W>>
W>>char s[]="123";
W>>s++;
W>>


B>В данном случае s — это массив, а не указатель (ни константный, ни неконстантный). Со всеми вытекающими.

B>Просто за счет стандартного преобразования array-to-pointer conversion массив в ряде случаев ведет себя как указатель.

есть три варианта:
char *s="123"; // указатель (но можно только читать)


char bs[]="123"; 
char *s=bs;      // указатель


char s[]="123";  // массив (т.к. s нельзя менять я назвал его константым указателем)


первый и второй дают указатели
третий не является их эквивалентом так значение s нельзя изменить
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.