Miért vannak ilyen time_t, size_t stb. típusú változók c-ben?
Segítek neked guglizni, oké?
Amúgy azért vannak ezek az adattípusok typedefelve, hogy ha mész rendszerről rendszerre, mindig megtaláld ugyan azt, és ne kelljen gondolkodni, hogy ez most mekkora és mit is tud. Mindig egy olyan típus van alárakva, ami tudja azokat, amiket elvárunk tőle. Ugyan ez az int64_t, int32_t stb: typedefek, amik minden rendszeren tudják, amit elvárunk tőlük, anélkül hogy neked mint felhasználó foglalkozni kéne, hogy most konkrétan milyen típus is van alattuk.
kösz.
És hogy tudok egy ilyen int32_t változót definiálni?
Jól, értem, hogy ha pl.:
typedef uint32_t signed long int;
akkor rendszertől függetlenül kapok egy (minimum) 32 bites, előjeles egész változót?
Nem. Ezzel egy létező typedefnek (az uint32_t-nek) akarnál új nevet adni egy már létező névre.
Ezek létező typedefek, bennevannak az inttypes.h (vagy stdint.h, már nem is tudom, keresd meg) headerben, és mindig arra vannak typedefelve ami megfelel a kívánalmaknak. Az uint32_t pl minden rendszeren egy 32 bites előjel nélküli szám lesz, kettes komplemensű ábrázolással meg még néhány egyéb tulajdonsággal.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!