I struggle with the correct format specifier in C.
I am working with a 32-bit uC and I am using %lu
for type uint32_t
. For uint8_t
I am using %u
. That works fine.
What I can't figure out is, whether I have to use %lu
or %u
for uint32_t
when I am dealing with a 64-bit address with uC. And the other way around: is %lu
the correct format specifier when I use type uint32_t
on a 16-bit system? Or should the format specifier be %llu
instead?
Is the format specifier dependent on the system I am working with?