Voglio stampare una variabile di tipo size_tin C ma sembra che size_tsia alias per diversi tipi di variabili su diverse architetture. Ad esempio, su una macchina (64 bit) il codice seguente non genera alcun avviso:
size_t size = 1;
printf("the size is %ld", size);
ma sull'altra mia macchina (32 bit) il codice sopra produce il seguente messaggio di avviso:
avviso: il formato "% ld" prevede il tipo "long int *", ma l'argomento 3 ha il tipo "size_t *"
Sospetto che ciò sia dovuto alla differenza nella dimensione del puntatore, in modo che sulla mia macchina a 64 bit size_tvenga applicato un alias a long int( "%ld"), mentre sulla mia macchina a 32 bit l' size_talias è di un altro tipo.
Esiste un identificatore di formato specifico per size_t?
&parte?