Vairāk
Kā noteikt masīva lielumu C valodā?
Kā noteikt masīva lielumu C valodā?
Tas ir, cik elementu var saturēt masīvs?
894
3
Kā noteikt masīva lielumu C valodā?
Tas ir, cik elementu var saturēt masīvs?
Izpildes kopsavilkums:
Pilna atbilde:
Lai noteiktu masīva lielumu baitos, varat izmantot
sizeof
operatoru:Manā datorā inti ir 4 baiti, tātad n ir 68.
Lai noteiktu elementu skaitu masīvā, mēs varam dalīt kopējo masīva lielumu ar masīva elementa lielumu. To var izdarīt ar tipu, piemēram, šādi:
un iegūtu pareizo atbildi (68 / 4 = 17), bet, ja tips ir
a
mainītos, tad rastos nepatīkama kļūda, ja jūs aizmirstu mainīt arīsizeof(int)
.Tāpēc vēlamais dalītājs ir
sizeof(a[0])
, un tā lielums irsizeof(a[0])
. masīva nullā elementa lielums.Vēl viena priekšrocība ir tā, ka tagad jūs varat viegli parametrizēt masīva nosaukumu makro un iegūt:
Ir vērts atzīmēt, ka
sizeof
nepalīdz, ja runa ir par masīva vērtību, kas ir sadalījusies līdz rādītājam: lai gan tas norāda uz masīva sākumu, kompilatoram tas ir tas pats, kas rādītājs uz vienu šī masīva elementu. Rādītājs neatceras "neko citu par masīvu, kas tika izmantots tā inicializēšanai.