Показать сообщение отдельно

  #4  
Старый 15.06.2009, 22:30
fker
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами: 9187097

Репутация: 158
По умолчанию

Цитата:
Первая переменная есть указатель на область памяти в 1 байт, выделенная под переменную типа char. Делая так char *first = "Text" - ты успешно записываешь в место адреса "Te"(2 байта)
По моему бред. первое объявление есть указатель на массив символов, заранее неопределенной длины, инициализируя указатель он какбэ объявляет что этот массив будет размером 4байта+'\0' точнее слово "Text"

char first[5]= "Text";
char second[255];
for(int i=0; i<5; i++)
{ second[i]=first[i];
cout << second[i];
}

а если нам нужно работать со строкой не посимвольно? например вывеси ее сразу :
printf("%s",second);
а она будет до этого заполлнена, выведутся - TextXXXXXX X-символы которыми была до этого заполнена.
Самый нормальный вариант имхо, использовать, как уже говорили выше - strcpy из string.h
 
Ответить с цитированием