Bir Sıra ölçüsünü Necə Təyin Etmək Olar

Mündəricat:

Bir Sıra ölçüsünü Necə Təyin Etmək Olar
Bir Sıra ölçüsünü Necə Təyin Etmək Olar

Video: Bir Sıra ölçüsünü Necə Təyin Etmək Olar

Video: Bir Sıra ölçüsünü Necə Təyin Etmək Olar
Video: ОЧЕНЬ ПРОСТО и БЫСТРО на двух спицах без швов 2024, Bilər
Anonim

Diziler proqramın işlənməsi zamanı ən çox istifadə olunan məlumat saxlama formalarından biridir. Eyni tip elementləri sifarişli bir ardıcıllıqla təşkil etməyinizə və indekslə onlara sürətli çatmağınıza imkan verirlər. Çox vaxt, C ++ kimi birbaşa yaddaşa giriş imkanı verən güclü və çevik proqramlaşdırma dillərində tətbiqetmələr hazırlayarkən, massivin ölçüsünü müəyyənləşdirməlisiniz.

Bir sıra ölçüsünü necə təyin etmək olar
Bir sıra ölçüsünü necə təyin etmək olar

Zəruri

C ++ kompilyatoru

Təlimat

Addım 1

Dizinin tərtib edilərkən ölçüsünü sizeof operatorundan istifadə edərək hesablayın. Bu operator ona ötürülən arqumentin tutduğu yaddaş miqdarını (baytla) qaytarır. Arqument ya dəyişən, ya da növ identifikatoru ola bilər. Sizeof operatoru proqramın icrası mərhələsində obyektin tutduğu sonlu yaddaş həcmini qaytarır (məsələn, struktur sahələrinin hizalanması üçün parametrlər nəzərə alınaraq), lakin hesablanması tərtib mərhələsində aparılır.

Addım 2

Sizeof operatorunu istifadə edərək bir sıra ölçüsünü təyin etmək üçün bütün ölçüsünü bir elementin ölçüsünə bölün. Məsələn, bir sıra aşağıdakı tərifiniz varsa: int aTemp = {10, 20, 0xFFFF, -1, 16}, onun ölçüsü belə hesablana bilər: int nSize = sizeof (aTemp) / sizeof (aTemp) [0]);

Addım 3

Bu metoddan daha rahat istifadə etmək üçün bir makronu müəyyənləşdirməyin mənası var: #define countof (a) (sizeof (a) / sizeof (a [0]))) Qeyd edək ki, sizeof operatorunun dəyəri kompilyasiya zamanı hesablanır vaxt, hesablamanın aparıldığı nöqtədə, massivin həcmi və elementləri barədə məlumat açıq şəkildə mövcud olmalıdır. Başqa sözlə, bilinməyən ölçüdə bir sıra parametrlərini xarici elanı ilə təyin etmək mümkün deyil.

Addım 4

Proqramın icrası zamanı massivin məlum xitam işarəsindən istifadə edərək onun ölçüsünü təyin edin. Məlumatı qeyri-müəyyən uzunluqlu bir sıra şəklində saxlamağa və ötürməyə imkan verən yanaşmalardan biri də məlumat ardıcıllığının tamamlandığını göstərən bir işarə üçün xüsusi bir dəyər ayırmaqdır. Məsələn, simvol massivi olan tək baytlı C tərzli sətirlər 0 dəyəri ilə bitməlidir, dəyişən uzunluqlu C cərgə sətirləri sıfır sona çatmalı və göstərici massivləri sıfır sona çatmalıdır.

Addım 5

Bu şəkildə təmsil olunan bir massivin ölçüsünü təyin etmək üçün son elementi tapana qədər elementə görə tarayın. Tarama zamanı sıfır başlanğıc sayacını artırın. Və ya bir göstərici dəyərini bir sıra elementinə qədər artırın və taradıktan sonra cari və ilk elementlərə göstəricilər arasındakı fərqi hesablayın.

Addım 6

Metodunu çağıraraq bir çərçivə və ya kitabxana obyekti ilə təmsil olunan dinamik bir sıra ölçüsünü əldə edin. Bu cür massivlərin funksionallığını əhatə edən hər hansı bir sinifdə cari element sayını əldə etmək üsulları vardır. Məsələn, C ++ standart kitabxanasının std:: vector şablon sinfində bir ölçmə metodu, Qt çərçivəsinin QVector sinifində bir sayma metodu və MFC-nin analoji CArray sinfində bir GetCount metodu vardır.

Tövsiyə: