Diziler məlumatların strukturlaşdırılmasının ən sadə formalarından biridir. Birölçülü massivlərin saxlanması üçün bölünməz yaddaş sahələri ayrıldığından və əksər proqramlaşdırma dillərinin elanı üçün sintaktik konstruksiyalar olduğundan çox miqdarda məlumatların müxtəlif (kitabxana daxil olmaqla) funksiyalara ötürülməsi üçün buferlər kimi intensiv istifadə olunur. Öz növbəsində, funksiyaların bəzən bir sıra qaytarması lazımdır.
Zəruri
- - mətn redaktoru;
- - C və ya C ++ kompilyatoru və əlaqələndiricisi.
Təlimat
Addım 1
Zəng edən tərəfindən ayrılmış və istinad yolu ilə ötürülən sabit uzunluqlu bir sıra içərisinə qoyaraq bir funksiyadan və ya metoddan məlumatları qaytarın. Müvafiq məlumat növünü təyin edin, məsələn: typedef int t_array10 [10]; Onu tələb olunan funksiyanın və ya metodun bəyannaməsində və tətbiqində istifadə edin: void ReturnArray (t_array10 & raOut) {raOut [0] = 10;} Uyğun olaraq zəng edin: int aNumbers [10]; ReturnArray (aNumbers); Bu metodun dezavantajı massivin uzunluğunun sabit olmasıdır.
Addım 2
Dizini ötürən bir zəng edən tərəfindən ayrılmış çıxış tamponuna qoyaraq serial məlumatlarını qaytarın. Bir funksiyanın və ya metodun prototipi, ölçünün spesifikasiyası olmadan hər iki sıra notasiyasında elan edilmiş bir parametr ehtiva edə bilər: void ReturnArray (int anArray , int nSize); və ya bir göstərici kimi: void ReturnArray (int * pnArray, int nSize); Hər ikisində də hallar, identifikator parametri sıra notasiyasında istifadə edilə bilər: void ReturnArray (int * pnArray, int nSize) {for (nSize--; nSize> -1; pnArray [nSize] = nSize--);} // int aNumbers [10]; ReturnArray (aNumbers, sizeof (aNumbers) / sizeof (aNumbers [0])); Dizilərin funksiyalara ötürülməsi və onlardan sıra məlumatlarının qaytarılması üsulu C proqramları hazırlanarkən əksər hallarda istifadə olunur. məlumatları bu şəkildə qəbul edən və qaytaran funksiyalar və metodlar, bir qayda olaraq, buferin həqiqi ölçüsünün ötürüldüyü əlavə bir parametrə sahib olmalıdır.
Addım 3
Bir funksiyada və ya metodda yaradılan bir sıra qaytarın. Formal olaraq, bu vəziyyətdə bir sıra deyil, ilk elementinə bir göstərici qaytarılmalıdır: int * ReturnArray () {int * pnArray = new int [10]; // pnArray ilə işləmə return pnArray;} // yaradılan massivə bir göstərici almaq int * pnNumbers = ReturnArray (); // delete pnNumbers istifadə etmək; // Sil Bu metodun bəzi məhdudiyyətləri var. Beləliklə, sıra yığında yerləşməlidir. Bundan əlavə, silinməsi yaradılışa uyğun metodla aparılmalıdır (yeni istifadə edildikdə sil, malloc üçün pulsuz və s.).
Addım 4
C ++ proqramları hazırlayarkən massivləri rahat şəkildə qaytarmaq üçün konteyner siniflərindən istifadə edin. İnt üçün göstərilən C ++ Standart Şablon Kitabxanasının vektor şablon sinfinin bir obyekti olan bir sıra yaratmaq və qaytarmaq nümunəsi belə görünə bilər: #include std:: vector ReturnArray () {std:: vector oArray; oArray.resize (10); oArray [0] = 100; oArray [1] = 200; return oArray;} std:: vector oArray = ReturnArray (); Məşhur çərçivələrin əksəriyyətinin güclü siniflər və ya sıra sinfi şablonları təmin etdiyini unutmayın. Onlar tez-tez istinad sayılması və surəti yazmaqla örtülü məlumat paylaşma konsepsiyasını tətbiq edirlər. Buna görə də, bu cür massivlərin funksiyalarından dəyəri ilə qayıtmaq çox səmərəli şəkildə həyata keçirilir və hesablama mənbələrinin minimum istehlakı ilə əlaqələndirilir.