როგორ განვსაზღვროთ მასივის ზომა

Სარჩევი:

როგორ განვსაზღვროთ მასივის ზომა
როგორ განვსაზღვროთ მასივის ზომა

ვიდეო: როგორ განვსაზღვროთ მასივის ზომა

ვიდეო: როგორ განვსაზღვროთ მასივის ზომა
ვიდეო: როგორ ვიცხოვროთ კომფორტულად 6 მეტრიანი სამზარეულოში. ჭურჭლის სარეცხი საშუალებებით 2024, აპრილი
Anonim

მასივები პროგრამის მუშაობის პროცესში მონაცემთა შენახვის ერთ – ერთი ყველაზე ხშირად გამოყენებული ფორმაა. ისინი საშუალებას გაძლევთ მოაწყოთ იგივე ტიპის ელემენტები შეკვეთილი თანმიმდევრობით და ინდექსის მიხედვით სწრაფად მიიღოთ ისინი. ხშირად, ძლიერი და მოქნილი პროგრამირების ენებში განაცხადების შემუშავებისას, რომლებიც მეხსიერების პირდაპირ წვდომას იძლევა, მაგალითად C ++, საჭიროა განსაზღვროთ მასივის ზომა.

როგორ განვსაზღვროთ მასივის ზომა
როგორ განვსაზღვროთ მასივის ზომა

აუცილებელია

C ++ შემდგენელი

ინსტრუქციები

Ნაბიჯი 1

განსაზღვრეთ მასივის ზომა კომპილირების დროს, მისი გაანგარიშებით sizeof ოპერატორის გამოყენებით. ეს ოპერატორი აბრუნებს მეხსიერების ოდენობას (ბაიტებში), რომელსაც იკავებს არგუმენტი. არგუმენტი შეიძლება იყოს ცვლადი ან ტიპის იდენტიფიკატორი. ოპერატორის ზომა უბრუნებს ობიექტის მიერ ოკუპირებულ მეხსიერების სასურველ რაოდენობას პროგრამის შესრულების ეტაპზე (მაგალითად, სტრუქტურის ველის გასწორების პარამეტრების გათვალისწინებით), მაგრამ მისი გაანგარიშება ხორციელდება შედგენის ეტაპზე.

ნაბიჯი 2

მასივის ზომის დასადგენად, ოპერატორის ზომის მიხედვით, დაყავით მისი მთელი ზომა ერთი ელემენტის ზომაზე. მაგალითად, თუ მასივის შემდეგი განმარტება გაქვთ: int aTemp = {10, 20, 0xFFFF, -1, 16}, მაშინ მისი ზომა შეიძლება გამოითვალოს: int nSize = sizeof (aTemp) / sizeof (aTemp) [0]);

ნაბიჯი 3

ამ მეთოდის უფრო მოსახერხებელი გამოყენებისათვის აზრი აქვს მაკროს განსაზღვრა: # განსაზღვრეთ რიცხვი (ა) (ზომა (ა) / ზომა (ა [0])) გაითვალისწინეთ, რომ რადგან ოპერატორის ზომის ოდენობა გამოითვლება კომპილირების დროს დრო, როდესაც ხდება გაანგარიშება, ინფორმაცია მასივის მოცულობისა და მისი ელემენტების შესახებ უნდა იყოს მკაფიოდ ხელმისაწვდომი. სხვა სიტყვებით რომ ვთქვათ, შეუძლებელია უცნობი ზომის მასივის პარამეტრების დადგენა მისი გარე დეკლარაციით.

ნაბიჯი 4

პროგრამის შესრულების დროს განსაზღვრეთ მასივის ზომა, მისი შეწყვეტის ცნობილი ნიშნის გამოყენებით. ერთ-ერთი მიდგომა, რომელიც საშუალებას იძლევა მონაცემთა შენახვა და გადაცემა განუსაზღვრელი სიგრძის მასივების სახით, არის სპეციალური მნიშვნელობის გამოყოფა ნიშნისთვის, რომელიც მიუთითებს მონაცემთა მიმდევრობის დასრულებაზე. მაგალითად, ერთბიტიანი C სტილის სიმები, რომლებიც სიმბოლოების მასივებია, უნდა დასრულდეს 0 მნიშვნელობით, შეფუთული ცვლადი სიგრძის C სიმების მასივები დასრულებულია ნულოვანი და მაჩვენებლის მასივები უნდა დასრულდეს ნულოვანი.

ნაბიჯი 5

ამ ფორმით წარმოდგენილი მასივის ზომის დასადგენად, სკანირება მას ელემენტებით ელემენტამდე, სანამ არ იპოვნებთ დამთავრებულ ელემენტს. სკანირების დროს ნულოვანი ინიცირებული მრიცხველის გაზრდა. ან, გაზარდეთ მაჩვენებლის მნიშვნელობა მასივის ელემენტამდე და სკანირების შემდეგ გამოთვალეთ სხვაობა მიმდინარე და პირველ ელემენტებზე მითითებლებს შორის.

ნაბიჯი 6

მიიღეთ დინამიური მასივის ზომა, რომელიც წარმოდგენილია ჩარჩოთი ან ბიბლიოთეკის ობიექტით, მისი მეთოდის გამოძახებით. ნებისმიერ კლასს, რომელიც აერთიანებს ამგვარი მასივების ფუნქციონირებას, აქვს ელემენტების ამჟამინდელი რაოდენობის მიღების მეთოდები. მაგალითად, C ++ სტანდარტული ბიბლიოთეკის std:: ვექტორული შაბლონის კლასს აქვს ზომის მეთოდი, Qt ჩარჩოს QVector კლასს აქვს თვლის მეთოდი, ხოლო MFC- ის ანალოგურ CArray კლასს აქვს GetCount მეთოდი.

გირჩევთ: