UINT32_C is a macro for writing a constant of type uint_least32_t . Such a constant is suitable, for example, to initialize the uint32_t variable. I found, for example, the following definition in avr-libc (this is for the purpose of AVR, as an example):
#define UINT32_C(value) __CONCAT(value, UL)
So when you write
UINT32_C(25)
he expanded to
25UL
UL is the suffix for the unsigned long integer constant. The macro is useful because there is no standard suffix for uint32_t , so you can use it without knowing that uint32_t has a typedef for your purpose, for example. for unsigned long . With other objects, it will be defined differently.
source share