Hvordan lage en rekke strukturer i C

Hvordan lage en rekke strukturer i C
Vi vil først forstå strukturene i C, og så vil vi diskutere om rekke strukturer i C. Vi vil også gå gjennom utvalget av strukturpekere og hvordan du får tilgang til strukturmedlemmene innen rekke strukturobjekter.

Strukturer er den brukerdefinerte gruppen av lignende eller forskjellige datatyper. Lignende eller forskjellige gruppe av datatyper kan grupperes under ett navn kjent som strukturer. Eksempel erklæring om struktur i C:

Struct abc
Int a;
Char B;
Float c;
;

For å lage objekt fra strukturerklæringen, er her syntaksen i C for å gjøre det:

Struct abc obj;

Med denne objektopprettelsen blir minnet tilordnet strukturen. For å få tilgang til medlem av strukturer ved hjelp av Object (OBJ) kan gjøres som:

Obj.a = 10; obj.b = 'c'; obj.C = 1.0;

Dette er tilfelle når objekt opprettes, det er ikke nødvendig å tildele noe minne. Når objektet er instantiert minnet, vil du bli tildelt automatisk.

Tildeling av minne til strukturen kan gjøres ved kjøretid. For tildeling av kjøretid kan Malloc -funksjon brukes.

Det vil være en pekerklæring om strukturen. Deklarasjon av pekeren til strukturen kan gjøres som struct abc *ptr; Med denne erklæringen vil det ikke være tildeling av noe minne til strukturobjektet. Malloc -funksjonen skal brukes til å tildele minne og nedenfor er syntaks for å gjøre det:

Struct abc *ptr;
PTR = Malloc (størrelse av (struct ABC));

Nå vil PTR få tilordnet minnet. Den kan lagre dataene for medlemselementer i strukturen.

For å få tilgang til strukturmedlemmene ved hjelp av pekere kan gjøres som følger:

Ptr-> a = 10; ptr-> b = 'c'; Ptr-> C = 2.0;

Så langt diskuterte vi enkeltstrukturobjektet. Begge måtene å få tilgang til medlemselementer, har vi sett gjennom pekere og direkte tilgang med objekter.

Vi har to måter å definere strukturene på, først er å definere strukturobjektet, og en annen måte er å definere pekeren til strukturen.

Strukturobjekt: Struct ABC OBJ;
Strukturpeker: Struct ABC *PTR;

La oss nå diskutere utvalget av strukturobjekter og rekke strukturpekere. Array er en gruppe objekter av samme type. For eksempel vil rekke OBJ bli erklært som struct ABC OBJ [128]. Array av pekere til strukturobjektene vil være som struct abc *ptr [128]. Begge matrisen definerte de 128 elementene i strukturobjekter og pekere.

C -program for å erklære strukturobjekt:

#inkludere
struct abc
int a;
Char B;
float c;
;
int main ()

struct abc obj = 1, 'c', 3.4;
printf ("a =%d, b =%c, c =%f \ n", obj.a, obj.B, obj.c);
return 0;

Produksjon:

Bash-4.2 $ ./en.ute
a = 1, b = c, c = 3.400000
Bash-4.2 $

Over -programmet definerer objektet med struktur og en måte å initialisere medlemmet mens du erklærer objektet. Vi initialiserer medlemsvariablene med spesifikke verdier og skriver ut disse variablene ved å få tilgang til medlemmene med objekt direkte. A er tildelt med 1, B er tilordnet 'C' og C er tildelt med flyteverdi 3.4. Nedenfor er øyeblikksbildet av programmet og output.

Øyeblikksbilde:

C -program for å erklære pekeren til strukturen:

#inkludere
struct abc
int a;
Char B;
float c;
;
int main ()

struct abc *ptr;
PTR = Malloc (størrelse av (struct ABC));
ptr-> a = 4;
ptr-> b = 'd';
Ptr-> C = 5.5;
printf ("a =%d, b =%c, c =%f \ n", ptr-> a, ptr-> b, ptr-> c);
return 0;

Produksjon:

Bash-4.2 $ ./en.ute
a = 4, b = d, c = 5.500000
Bash-4.2 $

Over -programmet definerer pekeren til objektet med struktur. Malloc -funksjon brukes til å tildele minne for pekervariabelen. Vi initialiserer medlemsvariablene med spesifikke verdier og skriver ut disse variablene ved å få tilgang til medlemmene med pekeren. A er tildelt med 4, B er tildelt med 'D' og C er tildelt med flyteverdi 5.5. Nedenfor er øyeblikksbildet av programmet og output.

Øyeblikksbilde:

La oss nå gå gjennom C -programmet for rekke strukturer og utvalg av pekere til strukturer.

C -program for rekke strukturer av objekter:

#inkludere
struct abc
int a;
Char B;
float c;
;
int main ()

struct abcobj [2];
obj [0].a = 4;
obj [0].b = 'd';
obj [0].C = 5.5;
obj [1].a = 5;
obj [1].b = 'f';
obj [1].C = 8.2;
printf ("[0] a =%d, [0] b =%c, [0] c =%f \ n", obj [0].A, obj [0].B, obj [0].c);
printf ("[1] a =%d, [1] b =%c, [1] c =%f \ n", obj [1].A, obj [1].B, obj [1].c);
return 0;

Produksjon:

Bash-4.2 $ ./en.ute
[0] A = 4, [0] B = D, [0] C = 5.500000
[1] A = 5, [1] B = F, [1] C = 8.200000
Bash-4.2 $

Over -programmet definerer rekke strukturens objekt og en måte å initialisere medlemmene ved hjelp av objekter. Vi initialiserer medlemsvariablene med spesifikke verdier og skriver ut disse variablene ved å få tilgang til medlemmene med objekt direkte. For enkelhets skyld har vi bare tatt to gjenstander. Første objekt A er tilordnet med 4, B er tilordnet 'D' og C er tilordnet med floatverdi 5.5. Andre objekt A er tilordnet med 5, B er tilordnet 'F' og C er tilordnet med floatverdi 8.2. Nedenfor er øyeblikksbildet av programmet og output.

Øyeblikksbilde:

C -program for rekke pekere til struktur av objekter:

#inkludere
struct abc
int a;
Char B;
float c;
;
int main ()

struct abc *ptr [2];
PTR [0] = Malloc (størrelse av (struct ABC));
PTR [1] = Malloc (størrelse av (struct ABC));
PTR [0]-> A = 4;
ptr [0]-> b = 'd';
PTR [0]-> C = 5.5;
PTR [1]-> A = 5;
ptr [1]-> b = 'f';
PTR [1]-> C = 8.2;
printf ("[0] a =%d, [0] b =%c, [0] c =%f \ n", ptr [0]-> a, ptr [0]-> b, ptr [0] -> c);
printf ("[1] a =%d, [1] b =%c, [1] c =%f \ n", ptr [1]-> a, ptr [1]-> b, ptr [1] -> c);
return 0;

Produksjon:

Bash-4.2 $ ./en.ute
[0] A = 4, [0] B = D, [0] C = 5.500000
[1] A = 5, [1] B = F, [1] C = 8.200000
Bash-4.2 $

Over -programmet definerer utvalget av pekere for å gjenstand for struktur og en måte å initialisere medlemmene ved hjelp av pekere. Vi initialiserer medlemsvariablene med spesifikke verdier og skriver ut disse variablene ved å få tilgang til medlemmene med pekervariabler. For enkelhets skyld har vi bare tatt to tips. Første peker til objekt A er tilordnet med 4, B er tilordnet 'D' og C er tilordnet med floatverdi 5.5. Andre peker til objekt A er tilordnet med 5, B er tilordnet 'F' og C er tilordnet med floatverdi 8.2. Nedenfor er øyeblikksbildet av programmet og output.

Øyeblikksbilder:

Konklusjon:

Vi diskuterte strukturdatatypen i C og måtene å erklære objektene og pekerne for å strukturere objekter. Vi diskuterte også få eksempler og med output. Både objektene og pekerne ble diskutert. Rekke objekter og peker til objekter ble også diskutert med eksempler.