C'de size_t nedir?

C'deki size_t ile kafam karışıyor. sizeof operatörü tarafından döndürüldüğünü biliyorum. Ama tam olarak nedir? Bir veri tipi mi?

Diyelim ki bir `for' döngüm var:

for(i = 0; i < some_size; i++)

int i;mi yoksasize_t i;` mi kullanmalıyım?

Çözüm

Wikipedia'dan:

1999 ISO C standardına göre (C99), size_t işaretsiz bir tamsayıdır tipi en az 16 bit (bkz. 7.17 ve 7.18.3).

size_t işaretsiz bir veri tipidir çeşitli C/C++ standartları tarafından tanımlanmıştır, örneğin C99 ISO/IEC 9899 standardı, stddef.h içinde tanımlanmıştır.1 Şunları yapabilir 'nin dahil edilmesiyle daha da ithal edilecektir. stdlib.h bu dosya dahili olarak alt stddef.h dosyasını içerir.

Bu tip, stddef bir nesnenin boyutu. Kütüphane fonksiyonları boyutları alan veya iade eden onları bekler türünde olmak veya dönüş türüne sahip olmak ofsize_t. Ayrıca, en çok sık kullanılan derleyici tabanlı sizeof operatörü bir ile uyumlu sabit değer size_t`.

Bir çıkarım olarak, size_t herhangi bir dizi indeksini tutmayı garanti eden bir türdür.

Yorumlar (9)

size_t` işaretsiz bir türdür. Dolayısıyla, herhangi bir negatif değeri (

Yorumlar (17)

types.h]1 için man sayfası şöyle der:

size_t işaretsiz bir tamsayı türü olmalıdır

Yorumlar (0)