Printf format <inttypes.h>

Concepts:
Use of the function printf to format the output of variables with fixed dimension, as defined in the <inttypes.h> library.
The <inttypes.h> library allows the definition of variables with a fixed dimension in terms of number of occupied bits. For instance, the type uint64_t declares an unsigned integer variable with dimension 64 bits, and the int64_t can be used to declare a signed integer variable with dimension 64 bits. Other possible types of the library are: uint32_t, int32_t, unit16_t, int16_t, uint8_t and int8_t.
For printing uint32_t, int32_t, unit16_t, int16_t, uint8_t and int8_t the typical %u and %d operators of the printf function can be used, instead, to print uint64_t or int64_t we have to make use of specific macros defined in <inttypes.h>. See the example.

Example:

inttypes.c
/* Example of use of the function printf to format the output of variables with fixed dimension, as defined in the ''<inttypes.h>'' library */
#include <stdio.h>
#include <inttypes.h>
 
int main() {
  int64_t a = -3;
  uint64_t b = 3;
  int8_t c = -3;
 
  printf("a=%" PRId64 " b=%" PRIu64 " c=%d\n", a, b, c);
 
  return 0;
}

Comment:
As can be see in the example, the macros PRId64 and PRIu64 can be used to print int64_t and uint64_t, respectively.
Macro PRIx64 can also be used to print hexadecimal.