Bir Dizi Nasıl Döndürülür

İçindekiler:

Bir Dizi Nasıl Döndürülür
Bir Dizi Nasıl Döndürülür

Video: Bir Dizi Nasıl Döndürülür

Video: Bir Dizi Nasıl Döndürülür
Video: FİLM ÇEKİMİNE ÖN HAZIRLIK 2 - SAHNE ÇEKİM PLANLAMASI 1. BÖLÜM 2024, Kasım
Anonim

Diziler, yapılandırılmış veri depolamanın en basit biçimlerinden biridir. Bölünemez bellek alanları tek boyutlu dizileri depolamak için ayrıldığından ve çoğu programlama dili bildirimleri için sözdizimsel yapılara sahip olduğundan, büyük miktarda bilgiyi çeşitli (kütüphane dahil) işlevlere aktarmak için yoğun bir şekilde arabellek olarak kullanılırlar. Sırayla, işlevlerin bazen bir dizi döndürmesi gerekir.

Bir dizi nasıl döndürülür
Bir dizi nasıl döndürülür

Gerekli

  • - Metin düzeltici;
  • - C veya C++ derleyici ve bağlayıcı.

Talimatlar

Aşama 1

Bir işlevden veya yöntemden, onu arayan tarafından tahsis edilen ve başvuruya göre geçirilen sabit uzunluklu bir diziye yerleştirerek verileri döndürün. Uygun veri türünü tanımlayın, örneğin: typedef int t_array10 [10]; Bunu gerekli işlevin veya yöntemin bildiriminde ve uygulamasında kullanın: void ReturnArray (t_array10 & raOut) {raOut [0] = 10;} Uygun şekilde arayın: int aNumbers [10]; ReturnArray (aNumbers); Bu yöntemin dezavantajı dizinin uzunluğunun sabit olmasıdır.

Adım 2

İşaretçi tarafından geçirilen, arayan tarafından ayrılmış bir çıktı arabelleğine yerleştirerek dizi verilerini döndürün. Bir işlevin veya yöntemin prototipi, boyut belirtimi olmadan dizi gösteriminde bildirilen bir parametre içerebilir: void ReturnArray (int anArray , int nSize); veya bir işaretçi olarak: void ReturnArray (int * pnArray, int nSize); Her ikisinde de durumlarda, tanımlayıcı parametre dizi gösteriminde kullanılabilir: void ReturnArray (int * pnArray, int nSize) {for (nSize--; nSize> -1; pnArray [nSize] = nSize--);} // int aNumbers çağrısı [10]; ReturnArray (aNumbers, sizeof (aNumbers) / sizeof (aNumbers [0])); Dizileri işlevlere geçirme ve onlardan dizi verilerini döndürme yöntemi, çoğu durumda C programları geliştirirken kullanılır. Bu şekilde verileri kabul eden ve döndüren işlevler ve yöntemler, kural olarak, arabelleğin gerçek boyutunun içinden geçirildiği ek bir parametreye sahip olmalıdır.

Aşama 3

Bir işlevde veya yöntemde oluşturulan bir diziyi döndürür. Resmi olarak, bu durumda, bir dizi değil, ilk öğesine bir işaretçi döndürülmelidir: int * ReturnArray () {int * pnArray = new int [10]; // pnArray ile çalışın return pnArray;} // oluşturulan diziye bir işaretçi alın int * pnNumbers = ReturnArray (); // delete pnNumbers kullanın; // delete Bu yöntemin bazı sınırlamaları vardır. Bu nedenle, dizi öbek içinde bulunmalıdır. Ayrıca silme işlemi, oluşturulmaya karşılık gelen yöntemle yapılmalıdır (new kullanılması durumunda sil, malloc için ücretsiz vb.).

4. Adım

C++ programları geliştirirken dizileri uygun şekilde döndürmek için kapsayıcı sınıflarını kullanın. int için belirtilen C ++ Standart Şablon Kitaplığının vektör şablon sınıfının bir nesnesi olan bir dizi oluşturma ve döndürme örneği şöyle görünebilir: #include std:: vector ReturnArray () {std:: vector oArray; oArray.resize (10); oArray [0] = 100; oArray [1] = 200; return oArray;} std:: vector oArray = ReturnArray(); Popüler çerçevelerin çoğunun güçlü sınıflar veya dizi sınıfı şablonları sağladığını unutmayın. Genellikle referans sayımı ve yazma üzerine kopyalama ile örtük veri paylaşımı kavramını uygularlar. Bu nedenle, bu tür dizilerin işlevlerden değerine göre döndürülmesi çok verimli bir şekilde gerçekleştirilir ve minimum bilgi işlem kaynakları tüketimi ile ilişkilendirilir.

Önerilen: