допустим есть следующее объявление
char p[]="testtest";
p[5]="1";
почему компилятор ругается невозможно преобразовать 'const char [2]' в 'char'
когда в книге страуструпа именно такой код
как правильно присвоить?
или допустим код..
char * p="testtest";
cout<<p; //выводит testtest
cout<<*p; //аналогично p[0]
cout<<*(p+1) //аналогично p[1]
// p[1]="x"; выводит ошибку.. мы ведь инициализировали массив p почему мы не можем изменить его значения?
то есть никак нельзя работать со стокой, то есть с массивом символов кроме как через другой указатель?
char * x =p;
*x="y"; // почему то тоже выдало ту же самую ошибку..
понятно что теперь надо работать с помощью функции strcpy
вот ее код
char *strcpy(char *dst, const char *src)
{
char *cp = dst;
while (*cp++ = *src++);
return dst;
}
но что я сделал неправильно? так же создал указатель x на первый элемент массива.. и пытался изменить через x массив p
непонимаю((( перелистал страуструпа.. либерти.. ничего((
вот другой код. допустим создаем массив указателей на char
char * arr_of_ptr[10];
for (int i=0;i<sizeof(arr_of_ptr)/sizeof(char);i++)
arr_of_ptr[i]=new char[5] // а как тут же каждый массив из 5 символов проиницализировать или как получить к нему доступ на зппись?
то есть как обратиться к конкретному указателю.. или изменить какой либо эелемент одного из массивов char на которые указывают указаттели из массива arr_of_ptr или я чего то не понимаю?? помогите плиз)) заранее спасибо)) кстати кто нибудь идет сегодня на chaos construcion?))