struct bal float echilibru;
char nume [80];
> Persoana;
Pentru a accesa membrii structurii folosind un pointer la o structură, utilizați operatorul „săgeată“. Operator „săgeată“ ->, format din semnul „minus“ simbolul și „mai mult.“ De exemplu, pentru a accesa un membru al echilibrului, cu ajutorul p-ar scrie:
Pentru a înțelege cum să utilizeze indicii pentru structuri, luați în considerare următorul program simplu care afișează ore, minute și secunde folosind temporizatorul de program. (Rata Temporizatorul poate fi controlat prin modificarea DELAY macro.)
/ * Afișează temporizatorul de program. * /
#include
#include
#define DELAY 128000
struct my_time int ore;
minute int;
secunde int;
>;
void actualizare (struct my_time * t), afișare (struct my_time * t);
void mydelay (void);
int main (void)
systime my_time struct;
systime.hours = 0;
systime.minutes = 0;
systime.seconds = 0;
pentru (;;) actualizarea (systime);
afișare (systime);
if (kbhit ()) return 0;
>
>
void actualizare (struct my_time t *)
t-> secunde ++;
if (t-> secunde == 60)
t-> secunde = 0;
t-> minute ++;
>
if (t-> minute == 60)
t-> minute = 0;
t-> ore ++;
>
if (t-> ore == 24) t-> ore = 0;
mydelay ();
>
afișare void (struct my_time t *)
printf ( "% 02d:", t-> ore);
printf ( "% 02d:", t-> minute);
printf ( "% 02d \ n", t-> secunde);
>
void mydelay (void)
t int lung;
pentru (t = 1; t
Declarați structura my.time globală. În funcția principală () este declarată și inițializată la 00:00:00 structurală variabilă de tip systime my_time. Acest lucru înseamnă că systime cunoscut doar funcția principală ().
De exemplu, pentru a seta la 0 atunci când ajunge 24:00:00, următoarea declarație este utilizată.
if (t-> ore == 24) t-> ore = 0;
NOTĂ: Pentru a avea acces la elemente ale structurii atunci când se lucrează cu structura utilizată de „punctul de“ operator. Revenind la structura folosind operatorul pointer folosește „săgeată“.
Ca un ultim exemplu utilizarea indicii pentru a lua în considerare structura unui program care ilustrează utilizarea funcției de intrare întreg. Funcția input_xy () determină coordonatele x și y, care va afișa un indiciu, iar apoi intră o valoare întreagă. În acest scop, se folosește o structură xyinput.
/ * Exemplu generalizat de intrare prin structura pointer. * /
#include
#include
#include
struct xyinput int x, y; / * Pozitia indicii pe ecran * /
Mesajul char [80]; / * * Prompt /
int i; / * Valoarea Permisiunea * /
>;
void input_xy (xyinput struct * info);
int main (void)
mizerie xyinput struct;
mess.x = 10;
mess.u = 10;
strcpy (mess.message "Introduceți un întreg:");
clrscr ();
input_xy (mizerie);
printf ( "Numărul dvs. pătrat este: ..", mess.i * mess.i);
return 0;
>
/ * Afișează o tooltip pe poziția specificată și de intrare de valori întregi * /
void input_xy (struct xyinput * info)
gotoxy (Info-> x, Info-> y);
printf (Info-> mesaj);
scanf ( "", Info-> i);
>
Programul utilizează clrscr () și funcția gotoxy () pentru a goli ecranul și poziționarea cursorului în mod corespunzător. Ambele funcții utilizează fișierul antet tip conio.h input_hu () funcție este utilă atunci când programul afișează diferite informații. (De fapt, puteți crea mai multe funcții, cum ar input_xy (), introducerea altor tipuri de date.)