что делает оператор ++ в этой пустоте uart_puts (unsigned char * t) {while (* t) uart_putch (* t ++);

0

Что делает оператор ++ в этой программе на C?

void uart_puts(unsigned char *t) {
    while (*t)
        uart_putch(*t++); //I cant understand the operation here
}
  • 0
    здесь Uart_putch - другой модуль
  • 0
    почему символ * используется перед т. Есть ли какая-либо причина, или это обязательно использовать при вставке значения.
Показать ещё 1 комментарий
Теги:

2 ответа

4

Арифметика указателя:

Предложение uart_putch (* t++) может быть скомпрометировано в:

uart_putch(*t);  // get actual t unsigned char value
t++; // increments t pointer to next unsigned char
0

*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
  • 0
    Нет, *t - разыменование указателя t ( t содержит адрес). Так что *t имеет тип unsigned char здесь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню