Это не ошибка, и код будет работать абсолютно нормально, если вы добавили объявление функции и директивы препроцессора. это предупреждение о том, что ваш компилятор дает вам возможность изменить некоторые данные при преобразовании, поскольку преобразование unsigned
в signed
зависит от компилятора, а не от языка.
C имеет тип данных size_t
который способен хранить максимально возможный размер данных в C и определяется в нескольких препроцессорах, таких как <stddef.h>, <stdio.h>, <stdlib.h>, <string.h>, <time.h>, <wchar.h>
, и является псевдонимом для unsigned int
в 32-битном компиляторе, а также псевдонимом для unsigned long long
в 64-битном компиляторе. Рекомендуется добавлять дополнительную информацию, например unsigned
и size_t
, для кроссплатформенной производительности, которая требуется при создании проекта.