Talabalar_FISh(*k_talaba); return 0; } - Структураларни кўрсатгич ва мурожаат(&) воситасида функция аргументи сифатида узатиш мумкин. Қуйида келтирилган программа бўлагида структурани Talaba_Kiritish() функциясига кўрсаткич орқали, Talabalar_FISh() функциясига мурожаат орқали узатишга мисол келтирилган.
- void Talabalar_FISh(Talaba & t)
- { for(int i=0; i
- { cout<<(&t+i)->FISh<
- }
- }
- void Talaba_Kiritish(Talaba *t)
- { for(int i=0; i
- {cout<
- cout<<"Talaba FISh :";
- cin.getline((t+i)->FISh,30);
- cout<<"Kurs:"; cin>>(t+i)->Kurs;
- … }
- }
- include
- #include
- struct bit
- {
- unsigned int i:1;
- };
- unsigned printbits(int c, struct bit pp[])
- {
- unsigned int i;
- unsigned k = 8*sizeof(int);
- for(i = 0; i < k; i++)
- {
- pp[i].i = c&1; printf(" %d", c&1);
- c>>= 1; } return k; }
- Razryadli maydonlar ixtiyoriy butun tipga tegishli bo’lishi mumkin. Razryadli maydonlar adresini olish mumkin emas. Xotirada razryadli maydonlarni joylashtirish kompilyator va apparaturaga bog’liq.
- Razryadli maydonlar yordamida razryadli massivlar hosil qilish mumkin. Yuqorida ko’rilgan son hamma bitlarini chiqarish dasturini quyidagicha yozish mumkin:
- int main()
- {
- unsigned int k, i;
- struct bit pp[100];
- k = printbits(-5, pp);
- printf("\n");
- for(i = k-1; i > 0; i--)
- printf("%d ", pp[i].i);
- printf("%d ", pp[0].i);
- getch();
- return 0;
- }
Do'stlaringiz bilan baham: |