Что делает оператор ++
в этой программе на C?
void uart_puts(unsigned char *t) {
while (*t)
uart_putch(*t++); //I cant understand the operation here
}
Арифметика указателя:
Предложение uart_putch (* t++) может быть скомпрометировано в:
uart_putch(*t); // get actual t unsigned char value
t++; // increments t pointer to next unsigned char
*t
//содержит адрес переменной, на которую он указывает *t++
//увеличивает свой адрес, чтобы указать следующую позицию.
например:-
int j;
int *k;
k=&j; //assigning k to j address, so that k pointing the value of j
*k++;//means incrementing the adress to point next
*t
- разыменование указателя t
( t
содержит адрес). Так что *t
имеет тип unsigned char
здесь