Я пытаюсь привести свой код в порядок, и он жалуется, что использую мусорные значения.
У меня есть некоторые данные, хранящиеся в виде слов, и я хочу использовать их побайтно .
clang-tidy, похоже, не определяет размер массива c -style cast.
Минимальный пример:
#include <stdio.h>
int main(void) {
int words[2] = { 123456789, 987654321 };
char* bytes = (char*)words;
printf("%d\n", bytes[1] * 2);
return 0;
}
Ошибка:
/home/ce/example.c:7:27: warning: The left operand of '*' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
printf("%d\n", bytes[1] * 2);
^
/home/ce/example.c:7:27: note: The left operand of '*' is a garbage value
Примечание: я использую c99