Junior — Middle
El tudná magyarázni a különböző int típusok közötti különbségeket a C nyelvben, mint például a size_t, long, short és int?
sobes.tech MI
Válasz az MI-től
A C nyelvben különböző egész típusok léteznek, amelyek méretükben és értéktartományukban különböznek:
short— általában 16 bit, körülbelül -32 768-tól 32 767-ig tárolhat értékeket (a jelzett típus esetén).int— általában 32 bit modern rendszereken, a tartomány platformfüggő, de gyakran -2 147 483 648-tól 2 147 483 647-ig.long— mérete platformfüggő, 32 bites rendszereken általában 32 bit, 64 bites rendszereken — 64 bit.size_t— előjel nélküli típus, amely az objektumok méreteinek és tömbindexek tárolására szolgál. Mérete architektúrától függ (például 32 vagy 64 bit). Garantálja, hogy a memória bármely objektumának maximális méretét tárolni tudja.
Fő különbségek:
size_tmindig előjel nélküli, és a méretekhez, indexekhez használják.short,int,longlehetnek előjelessel vagy előjel nélküliek (ha azunsignedvan megadva), és méretük platformfüggő.
A size_t használatának példája:
#include <stdio.h>
#include <stddef.h>
int main() {
size_t length = 10;
int array[10];
for (size_t i = 0; i < length; i++) {
array[i] = (int)i;
printf("%d ", array[i]);
}
return 0;
}
Itt a size_t az array indexelésére szolgál, ami biztonságos és a C szabványoknak megfelelő.