size_t
C türünde bir değişken yazdırmak istiyorum, ancak size_t
farklı mimarilerdeki farklı değişken türlerine diğer ad verildiği görülüyor . Örneğin, bir makinede (64 bit) aşağıdaki kod herhangi bir uyarı vermez:
size_t size = 1;
printf("the size is %ld", size);
ancak diğer makinemde (32 bit) yukarıdaki kod aşağıdaki uyarı mesajını veriyor:
uyarı: '% ld' biçimi 'long int *' türünü bekler, ancak bağımsız değişken 3'ün türü 'size_t *'
Bunun işaretçi boyutundaki farklılıktan kaynaklandığından şüpheleniyorum, bu nedenle 64 bit makinemde size_t
a long int
( "%ld"
) olarak adlandırılırken 32 bit makinemde size_t
başka bir türe diğer ad verilir.
Özellikle için bir format tanımlayıcı var mı size_t
?
&
yerden kaldırdın mı?