Я хочу распечатать переменную типа size_tC, но похоже, что size_tона привязана к разным типам переменных на разных архитектурах. Например, на одной машине (64-битной) следующий код не выдает никаких предупреждений:
size_t size = 1;
printf("the size is %ld", size);
но на моей другой машине (32-разрядной) приведенный выше код выдает следующее предупреждающее сообщение:
предупреждение: формат '% ld' ожидает тип 'long int *', но аргумент 3 имеет тип 'size_t *'
Я подозреваю, что это связано с разницей в размере указателя, так что на моей 64-битной машине size_tэто псевдоним long int( "%ld"), тогда как на моей 32-битной машине size_tпсевдоним другого типа.
Есть ли спецификатор формата специально для size_t?
&куда-то убирали ?