У меня есть следующий фрагмент кода C ++. У меня есть базовое понимание кода на C ++. Пожалуйста, исправьте мое объяснение следующего кода, когда это необходимо:
for (p = q->prnmsk, s = savedx->msk, j = sizeof(q->prnmsk);
j && !(*p & *s); j--, p++, s++);
Что он содержит: q это char * q (как объявлено) - это тип структуры MSK согласно коду.
q-> prnmsk содержит байтовые данные, где prnmask содержит 15 байтов.
Это похоже на с.
Таким образом, в цикле for при уменьшении j он будет проходить через каждый байт и выполнять эту операцию !(*p & *s)
, чтобы продолжить цикл, и в конце концов, если условие не будет выполнено, цикл завершится, иначе j будет работать до j == 0.
Я прав? Что означает * p и * s? Будет ли оно содержать байтовое значение?