Massiv o‘lchamini aniqlash


ULASHISH

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
O‘zingiz sinab ko‘ring »

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
O‘zingiz sinab ko‘ring »



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!