stdint.h
Включение этого файла является «минимальным требованием», если вы хотите работать с целочисленными типами указанной ширины C99 (то есть «int32_t», «uint16_t» и т. Д.).
Если вы включите этот файл, вы получите определения этих типов , так что вы сможете использовать эти типы в объявлениях переменных и функций и выполнять операции с этими типами данных.
inttypes.h
Если вы включите этот файл, вы получите все, что предоставляет stdint.h (поскольку inttypes.h включает stdint.h), но вы также получите средства для выполнения printf и scanf (и "fprintf," fscanf "и т. Д.) С этими типами переносимым способом. Например, вы получите макрос" PRIu16 ", чтобы вы могли напечатать целое число uint16_t, например:
#include <stdio.h>
#include <inttypes.h>
int main (int argc, char *argv[]) {
// Only requires stdint.h to compile:
uint16_t myvar = 65535;
// Requires inttypes.h to compile:
printf("myvar=%" PRIu16 "\n", myvar);
}