C++ massivlarni funksiyaga uzatish
C++ da biz massivlarni funksiyaga argument sifatida berishimiz mumkin. Shuningdek, biz funksiyadan massivlarni qaytarishimiz mumkin.
Massivlarni funksiya argumenti sifatida o'tkazish haqida bilishdan oldin, C++ Arrays va C++ Functions haqida bilishingizga ishonch hosil qiling.
Massivni funksiyaga o'tkazish sintaksisi:
returnType functionName(dataType arrayName[]) {
// kod
}
// C++ dasturi 5 talabaning baholarini ko'rsatish uchun
#include <iostream>
using namespace std;
const int ARRAY_SIZE = 5;
// belgilarni ko'rsatish funksiyasini e'lon qilish
// parametr sifatida 1d massivni oling
void display(int m[]) {
cout << "Displaying marks: " << endl;
// massiv elementlarini ko'rsatish
for (int i = 0; i < ARRAY_SIZE; ++i) {
cout << "Student " << i + 1 << ": " << m[i] << endl;
}
}
int main() {
//
int marks[ARRAY_SIZE] = {88, 76, 90, 61, 69};
// qo'ng'iroqni ko'rsatish funksiyasi
// massivni argument sifatida o'tkazing
display(marks);
return 0;
}
Chiqish
Displaying marks:
Student 1: 88
Student 2: 76
Student 3: 90
Student 4: 61
Student 5: 69
Bu yerga,
display(marks); Bu yerda argument belgilari massiv belgilarining birinchi elementining xotira manzilini ifodalaydi[5].display() funksiyasining parametriga e'tibor bering. void display(int m[]) Bu erda biz faqat butun sonlar qatorini kutmoqdamiz. C++ xotira va vaqtni tejash uchun massivni funksiyaga shu tarzda o'tkazishni boshqaradi.Multidimensional arrays ni funksiyaga argument sifatida ham yuborishimiz mumkin. Masalan,
// Ikki elementni ko'rsatish uchun C++ dasturi
// funksiyaga o'tkazish orqali o'lchovli massiv
#include <iostream>
using namespace std;
// funksiyani aniqlang
// 2d massivni parametr sifatida o'tkazing
void display(int n[][2]) {
cout << "Displaying Values: " << endl;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 2; ++j) {
cout << "num[" << i << "][" << j << "]: " << n[i][j] << endl;
}
}
}
int main() {
// 2d massivni ishga tushiring
int num[3][2] = {
{3, 4},
{9, 5},
{7, 1}
};
// funksiyani chaqiring
// argument sifatida 2d massivni o'tkazing
display(num);
return 0;
}
Chiqish
Displaying Values:
num[0][0]: 3
num[0][1]: 4
num[1][0]: 9
num[1][1]: 5
num[2][0]: 7
num[2][1]: 1
Yuqoridagi dasturda biz display() nomli funksiyani aniqladik. Funksiya ikki o'lchovli massivni, int n[][2] argumentini oladi va massiv elementlarini chop etadi.
Funksiyani chaqirayotganda biz faqat display(num) funksiya argumenti sifatida ikki o'lchovli massiv nomini beramiz.
[!NOTE] Massivdagi qatorlar sonini ko'rsatish majburiy emas. Biroq, ustunlar soni har doim ko'rsatilishi kerak. Shuning uchun biz
int n[][2]dan foydalandik.
Shuningdek, biz 2 dan ortiq o'lchamli massivlarni funksiya argumenti sifatida o'tkazishimiz mumkin.
Funksiyadan massivni ham qaytarishimiz mumkin. Biroq, haqiqiy massiv qaytarilmaydi. Buning o'rniga pointers yordamida massivning birinchi elementining manzili qaytariladi.
Funksiyadan massivlarni qaytarish haqida biz keyingi darslarda bilib olamiz.