C struktūra (struktūras)

Šajā apmācībā jūs uzzināsit par struktūras veidiem C programmēšanā. Jūs iemācīsities definēt un izmantot struktūras ar piemēru palīdzību.

C programmēšanā struktūra (vai struktūra) ir mainīgo lielumu kolekcija (var būt dažāda veida) ar vienu nosaukumu.

Kā definēt struktūras?

Pirms jūs varat izveidot struktūras mainīgos, jums jānosaka tā datu tips. Lai definētu struktūru, structtiek izmantots atslēgvārds.

Struktūras sintakse

 struct structureName (dataType member1; dataType member2;…); 

Šeit ir piemērs:

 struct Persona (char nosaukums (50); int citNo; mainīgā alga;); 

Šeit struct Persontiek definēts atvasinātais tips . Tagad jūs varat izveidot šāda veida mainīgos.

Izveidojiet strukturālos mainīgos

Deklarējot struktūras veidu, netiek piešķirta krātuve vai atmiņa. Lai piešķirtu noteikta struktūras veida atmiņu un strādātu ar to, mums ir jāizveido mainīgie.

Lūk, kā mēs veidojam struktūras mainīgos:

struct Persona (char nosaukums (50); int citNo; mainīgā alga;); int main () (struct Persona persona1, persona2, p (20); atgriešanās 0;)

Cits strukturālā mainīgā izveidošanas veids ir:

 struct Persona (char name (50); int citNo; mainīgā alga;) person1, persona2, p (20); 

Abos gadījumos tiek izveidoti divi mainīgie person1, person2 un masīva mainīgais p, kam ir 20 tipa elementi struct Person.

Piekļuve struktūras dalībniekiem

Lai piekļūtu struktūras dalībniekiem, tiek izmantoti divu veidu operatori.

  1. . - dalībnieks operators
  2. -> - Struktūras rādītāja operators (tiks apspriests nākamajā apmācībā)

Pieņemsim, ka vēlaties piekļūt personas algai2. Lūk, kā jūs to varat izdarīt.

 persona2.alga

Piemērs: pievienojiet divus attālumus

 // Program to add two distances (feet-inch) #include struct Distance ( int feet; float inch; ) dist1, dist2, sum; int main() ( printf("1st distance"); printf("Enter feet: "); scanf("%d", &dist1.feet); printf("Enter inch: "); scanf("%f", &dist1.inch); printf("2nd distance"); printf("Enter feet: "); scanf("%d", &dist2.feet); printf("Enter inch: "); scanf("%f", &dist2.inch); // adding feet sum.feet = dist1.feet + dist2.feet; // adding inches sum.inch = dist1.inch + dist2.inch; // changing to feet if inch is greater than 12 while (sum.inch>= 12) ( ++sum.feet; sum.inch = sum.inch - 12; ) printf("Sum of distances = %d\'-%.1f "", sum.feet, sum.inch); return 0; )

Rezultāts

 1. attālums Ievadiet pēdas: 12 Ievadiet collu: 7,9 2. attālums Ievadiet pēdas: 2 Ievadiet collu: 9,8 Attālumu summa = 15'-5,7 "

Atslēgvārds typedef

Mēs izmantojam typedefatslēgvārdu, lai izveidotu aizstājvārdu datu tipiem. To parasti izmanto ar struktūrām, lai vienkāršotu mainīgo deklarēšanas sintaksi.

Šis kods

struktūras attālums (int pēdas; pludiņš collā;); int main () (struktūras attālums d1, d2;)

ir ekvivalents

typedef struct Attālums (int pēdas; pludiņš collā;) attālums; int main () (attālumi d1, d2;)

Ligzdotas struktūras

C programmēšanā var izveidot struktūras struktūrā. Piemēram,

struktūras komplekss (int imag; float real;); struct numurs (struct complex comp; int veseli skaitļi;) num1, num2;

Pieņemsim, ka jūs vēlaties iestatīt mainīgā num2 mainīgā attēla vērtību 11. Lūk, kā to izdarīt:

 num2.comp.imag = 11; 

Kāpēc jāstrukturē C?

Pieņemsim, ka vēlaties saglabāt informāciju par personu: tās vārdu, pilsonības numuru un algu. Lai saglabātu šo informāciju, varat izveidot dažādus mainīgos mainīgo, nosaukumuNot un algu.

Ko darīt, ja jums jāglabā vairāk nekā vienas personas informācija? Tagad katrai informācijai par personu ir jāizveido dažādi mainīgie: vārds1, citNo1, alga1, vārds2, citNo2, alga2 utt.

Labāka pieeja būtu visas saistītās informācijas apkopošana vienā nosaukuma Personstruktūrā un tās izmantošana katrai personai.

Vairāk par strukt

  • Struktūras un norādes
  • Struktūru nodošana funkcijai

Interesanti raksti...