Как использовать указатель для изменения переменной после объявления - PullRequest
0 голосов
/ 18 октября 2019

У меня есть следующий массив:

uint8_t cmd_length;
uint8_t ctr = 0;
uint8_t hdr[2] = {cmd_length, ctr};

Теперь я хочу изменить cmd_length и сделать изменение в hdr без необходимости повторной записи hdr [0] = cmd_length. Я думаю, это было бы возможно с помощью указателей, но я не знаю как. Спасибо

1 Ответ

0 голосов
/ 18 октября 2019

Ваш вопрос оставляет у меня некоторые сомнения, я правильно понимаю, что вы хотите. Мое лучшее предположение, что вы пытаетесь достичь чего-то вроде этого:

int main()
{
    int ctr = 0;
    //replace 42 with what you want cmd_length to be
    int hdr[2] = {42, ctr};
    int *cmd_length = &hdr[0];
    printf("%d \n",*cmd_length);

    *cmd_length = 99;
    printf("%d \n",hdr[0]);

    return 0;
}

Остерегайтесь cmd_length больше не int, а указатель на int (тип int*). (Или uint8_t * в вашем случае)

Вывод:

42
99
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...