C strukturalar va ko‘rsatkichlar
Strukturalar va ko‘rsatkichlar
Kodingizni samaraliroq qilish uchun strukturalar bilan ko‘rsatkichlardan foydalanishingiz mumkin, ayniqsa strukturalarni funksiyalarga uzatishda yoki ularning qiymatlarini o‘zgartirishda.
Strukturaga ko‘rsatkichdan foydalanish uchun, boshqa ma’lumot tiplaridagi kabi, shunchaki * belgisini qo‘shing.
Uning a’zolariga murojaat qilish uchun nuqta . sintaksisi o‘rniga -> operatoridan foydalanishingiz kerak:
Misol
// Define a struct
struct Car {
char brand[30];
int year;
};
int main() {
struct Car car = {"Toyota", 2020};
// Declare a pointer to the struct
struct Car *ptr = &car;
// Access members using the -> operator
printf("Brand: %s\n", ptr->brand);
printf("Year: %d\n", ptr->year);
return 0;
}
Struktura ko‘rsatkichlarini funksiyalarga uzatish
Struktura ko‘rsatkichini funksiyaga uzatib, uning qiymatlarini quyidagicha o‘zgartirishingiz mumkin:
Misol
struct Car {
char brand[30];
int year;
};
// Function that takes a pointer to a Car struct and updates the year
void updateYear(struct Car *c) {
c->year = 2025; // Change the year
}
int main() {
struct Car myCar = {"Toyota", 2020};
updateYear(&myCar); // Pass a pointer so the function can change the year
printf("Brand: %s\n", myCar.brand);
printf("Year: %d\n", myCar.year);
return 0;
}
Nima uchun struktura ko‘rsatkichlaridan foydalaniladi?
Strukturalar bilan ko‘rsatkichlardan foydalanish quyidagi hollarda foydali:
- Katta hajmdagi ma’lumotlarni nusxalashdan qochmoqchi bo‘lsangiz.
Butun strukturani nusxalash o‘rniga shunchaki ko‘rsatkichni uzatishingiz mumkin. Bu dasturingizni tezroq qiladi va kamroq xotira sarflaydi. - Funksiya ichida qiymatlarni o‘zgartirmoqchi bo‘lsangiz.
Agar funksiyaga strukturaga ko‘rsatkichni uzatsangiz, funksiya asl qiymatlarni o‘zgartira oladi. - Xotira ajratish orqali strukturalarni dinamik yaratmoqchi bo‘lsangiz.
Ko‘rsatkichlar yordamida dastur ishlayotgan paytda strukturalar yaratish uchunmalloc()funksiyasidan foydalanishingiz mumkin.
Xotirani boshqarish haqida keyingi boblarda batafsil bilib olasiz.
Maslahat: Agar katta dasturlar yoki ko‘p qiymatlar bilan ishlayotgan bo‘lsangiz, struktura ko‘rsatkichlari kodingizni tozaroq va samaraliroq qilishga yordam beradi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
