
15.06.2009, 22:30
|
|
Участник форума
Регистрация: 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
|
|
|