Столкнулся с такой конструкцией
char * t;
...
...
...
t = (* t++);
Для чего нужна звёздочка?
Код: Выделить всё
Error: a value of type 'unsigned char' can't be assigned to an antity of type 'unsigned char *'
я тоже не понимаю, что сия строка обозначает...WorkPage писал(а):Я никак не могу понять значение этой строки.
t = (* t++);
переменной t присваивается значение t++. это понятно. Но звезда зачем?! Это указатель куда? Вообще непонятно.
И в разделе объявления переменных та же история. Что измениться, если звёздочки убрать?
Точнее переменной t будет присвоено значение на которое она указывал и переменная t будет увеличена на 1. Порядок этих действий неопределён, поэтому такую конструкцию использовать нельзя(и например a=a++ - 2 - тоже). А вообще данная строка - это скорее всего ошибка.ARV писал(а): t = *t++; означает буквально следующее: указателю присваивается значение символа (!!!), а затем значение указателя увеличивается на 1 (!!!)