Massiv o‘lchamini aniqlash
Massiv o‘lchamini aniqlash
Massiv o‘lchamini aniqlash uchun sizeof() operatoridan foydalanishingiz mumkin:
Misol
int myNumbers[5] = {10, 20, 30, 40, 50};
cout << sizeof(myNumbers);
Natija:
20
Massivda 5 ta element bo‘lsa-da, nega natija
5 o‘rniga 20’ni ko‘rsatdi?
Buning sababi — sizeof() operatori tipning o‘lchamini baytlarda qaytaradi.
Ma’lumot tiplari bobidan bilasizki, int tipi odatda 4 bayt bo‘ladi, shuning uchun yuqoridagi misolda 4 x 5 (4 bayt x 5 element) = 20 bayt.
Massivda nechta element borligini aniqlash uchun massiv o‘lchamini massivdagi birinchi elementning o‘lchamiga bo‘lishingiz kerak:
Misol
int myNumbers[5] = {10, 20, 30, 40, 50};
int getArrayLength = sizeof(myNumbers) / sizeof(myNumbers[0]);
cout << getArrayLength;
Natija:
5
sizeof() yordamida massivni aylanib chiqish
Massivlar va sikllar bobida massiv o‘lchamini sikl shartida (i <
5) yozgan edik. Bu ideal emas, chunki u faqat muayyan o‘lchamdagi massivlar uchun ishlaydi.
Biroq yuqoridagi misoldagi sizeof() usulidan foydalanib, endi har qanday o‘lchamdagi massivlar uchun ishlaydigan sikllar yarata olamiz — bu ancha barqaror yechim.
Quyidagicha yozish o‘rniga:
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
cout << myNumbers[i] << "\n";
}
Quyidagicha yozgan ma’qul:
Misol
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < sizeof(myNumbers) / sizeof(myNumbers[0]); i++) {
cout << myNumbers[i] << "\n";
}
O‘zingiz sinab ko‘ring »
E’tibor bering, C++ tilining 11-versiyasida (2011) bundan ham toza va sodda bo‘lgan "for-each" siklidan ham foydalanishingiz mumkin:
Misol
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int num : myNumbers) {
cout << num << "\n";
}
O‘zingiz sinab ko‘ring »
Massivni aylanib chiqishning turli usullarini bilish foydali, chunki ularning barchasini turli dasturlarda uchratishingiz mumkin.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
