In C99 standard Sezione 7.18.4.1 "Macro per costanti in ordine di larghezza minima", alcune macro definite come [U]INT[N]_C(x)
per il cast di interi costanti su tipi di dati minime dove N = 8, 16, 32, 64. Perché sono definite queste macro poiché posso utilizzare i modificatori L, UL, LL o ULL? Ad esempio, quando voglio utilizzare almeno numero intero senza segno a 32 bit, posso semplicemente scrivere 42UL
anziché UINT32_C(42)
. Poiché il tipo di dati lunghi ha una larghezza di almeno 32 bit, è anche portatile.Qual è lo scopo di "Macro per costanti intere di larghezza minima"
Quindi, qual è lo scopo di queste macro?
Penso che siano così che non devi preoccuparti di cose come quanto è grande un 'int' o un' lungo' quando si creano i propri tipi di numeri interi fissi. –