uint8_t - diferencia entre stdint.hy inttypes.h
stdint.h download (2)
¿Cuál es la diferencia entre stdint.hy inttypes.h?
Si no se usa ninguno de ellos, uint64_t no se reconoce, pero con cualquiera de ellos es un tipo definido.
stdint.h
Incluir este archivo es el "requisito mínimo" si desea trabajar con los tipos enteros de ancho especificado de C99 (es decir, "int32_t", "uint16_t", etc.). Si incluye este archivo, obtendrá las definiciones de estos tipos , de modo que podrá usar estos tipos en declaraciones de variables y funciones y realizar operaciones con estos tipos de datos.
inttypes.h
Si incluye este archivo, obtendrá todo lo que proporciona stdint.h (porque inttypes.h incluye stdint.h), pero también obtendrá facilidades para realizar printf y scanf (y "fprintf," fscanf ", y así sucesivamente. ) con estos tipos de forma portátil. Por ejemplo, obtendrá la macro "PRIu16" para que pueda imprimir un entero uint16_t como este:
#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);
}
Vea el artículo de wikipedia para inttypes.h.
Use stdint.h para un conjunto mínimo de definiciones; use inttypes.h si también necesita soporte portátil para estos en printf, scanf, et al.