Come fare una serie di strutture in c

Come fare una serie di strutture in c
Comprenderemo prima le strutture in C e poi discuteremo della serie di strutture in C. Passeremo anche attraverso la serie di puntatori della struttura e come accedere ai membri della struttura all'interno della serie di oggetti della struttura.

Le strutture sono il gruppo definito dell'utente di tipi di dati simili o diversi. Un gruppo simile o diverso di tipi di dati può essere raggruppato con un nome noto come strutture. Esempio di dichiarazione di struttura in c:

Struct ABC
Int a;
Char B;
Galleggiare c;
;

Per creare oggetto dalla dichiarazione della struttura, ecco la sintassi in C per farlo:

Struct ABC OBJ;

Con questa creazione di oggetti, la memoria viene assegnata alla struttura. Per accedere al membro delle strutture con l'aiuto dell'oggetto (OBJ) può essere fatto come:

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

Questo è il caso in cui l'oggetto viene creato, non è necessario allocare alcuna memoria. Una volta che l'oggetto viene istanziata la memoria verrà assegnata automaticamente.

L'allocazione della memoria alla struttura può essere eseguita in fase di esecuzione. Per l'allocazione di runtime, è possibile utilizzare la funzione Malloc.

Ci sarà una dichiarazione di puntatore alla struttura. La dichiarazione del puntatore alla struttura può essere fatta come struct ABC *PTR; Con questa dichiarazione, non ci sarà assegnazione di alcuna memoria all'oggetto della struttura. La funzione Malloc dovrebbe essere utilizzata per allocare la memoria e sotto è la sintassi per farlo:

Struct ABC *PTR;
PTR = malloc (sizeof (struct ABC));

Ora, PTR avrà la memoria assegnata. Può archiviare i dati per elementi membri della struttura.

Per accedere ai membri della struttura con l'aiuto di puntatori può essere fatto come segue:

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

Finora abbiamo discusso dell'oggetto a struttura singola. Sia i modi di accesso agli elementi dei membri, abbiamo visto attraverso i puntatori e l'accesso diretto con gli oggetti.

Abbiamo due modi per definire le strutture, prima è definire l'oggetto della struttura e un altro modo è definire il puntatore alla struttura.

Oggetto struttura: struct ABC OBJ;
Puntatore della struttura: struct ABC *PTR;

Ora, discutiamo dell'array di oggetti di struttura e della matrice di puntatori della struttura. L'array è un gruppo di oggetti dello stesso tipo. Ad esempio, l'array di OBJ sarà dichiarata come struct ABC OBJ [128]. L'array di puntatori agli oggetti della struttura sarà come struct ABC *PTR [128]. Entrambi l'array ha definito i 128 elementi di oggetti e puntatori della struttura.

Programma C per dichiarare oggetto struttura:

#includere
struct ABC
int a;
Char B;
galleggiare c;
;
int main ()

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

Produzione:

Bash-4.2 $ ./UN.fuori
a = 1, b = c, c = 3.400000
Bash-4.2 $

Il programma sopra definisce l'oggetto della struttura e un modo per inizializzare il membro mentre dichiara l'oggetto. Inizializziamo le variabili del membro con valori specifici e stampiamo quelle variabili accedendo ai membri con oggetto direttamente. A è assegnato con 1, B è assegnato con 'C' e C è assegnato con valore float 3.4. Di seguito è riportata l'istantanea del programma e l'output.

Istantanea:

Programma C per dichiarare il puntatore alla struttura:

#includere
struct ABC
int a;
Char B;
galleggiare c;
;
int main ()

struct ABC *PTR;
PTR = malloc (sizeof (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);
restituzione 0;

Produzione:

Bash-4.2 $ ./UN.fuori
a = 4, b = d, c = 5.500000
Bash-4.2 $

Il programma sopra definisce il puntatore all'oggetto della struttura. La funzione Malloc viene utilizzata per allocare la memoria per la variabile puntatore. Inizializziamo le variabili del membro con valori specifici e stampiamo quelle variabili accedendo ai membri con puntatore. A è assegnato con 4, B è assegnato con 'd' e C è assegnato con valore float 5.5. Di seguito è riportata l'istantanea del programma e l'output.

Istantanea:

Ora, passiamo attraverso il programma C per una serie di strutture e una serie di puntatori alle strutture.

Programma C per array di struttura degli oggetti:

#includere
struct ABC
int a;
Char B;
galleggiare 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);
restituzione 0;

Produzione:

Bash-4.2 $ ./UN.fuori
[0] a = 4, [0] b = d, [0] c = 5.500000
[1] a = 5, [1] b = f, [1] c = 8.200000
Bash-4.2 $

Il programma sopra definisce l'array di oggetto della struttura e un modo per inizializzare i membri con l'aiuto di oggetti. Inizializziamo le variabili del membro con valori specifici e stampiamo quelle variabili accedendo ai membri con oggetto direttamente. Per semplicità, abbiamo preso solo 2 oggetti. Il primo oggetto A è assegnato con 4, B è assegnato con 'd' e C è assegnato con valore float 5.5. Il secondo oggetto è assegnato con 5, b è assegnato con 'f' e c è assegnato con valore float 8.2. Di seguito è riportata l'istantanea del programma e l'output.

Istantanea:

Programma C per array di puntatori alla struttura degli oggetti:

#includere
struct ABC
int a;
Char B;
galleggiare c;
;
int main ()

struct ABC *PTR [2];
PTR [0] = malloc (sizeof (struct ABC));
PTR [1] = malloc (sizeof (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);
restituzione 0;

Produzione:

Bash-4.2 $ ./UN.fuori
[0] a = 4, [0] b = d, [0] c = 5.500000
[1] a = 5, [1] b = f, [1] c = 8.200000
Bash-4.2 $

Il programma di cui sopra definisce la serie di puntatori all'oggetto della struttura e un modo per inizializzare i membri con l'aiuto di puntatori. Inizializziamo le variabili del membro con valori specifici e stampiamo quelle variabili accedendo ai membri con variabili di punta. Per semplicità, abbiamo preso solo 2 puntatori. Il primo puntatore all'oggetto A è assegnato con 4, B è assegnato con 'd' e C è assegnato con valore float 5.5. Il secondo puntatore all'oggetto A è assegnato con 5, b è assegnato con 'f' e c è assegnato con valore float 8.2. Di seguito è riportata l'istantanea del programma e l'output.

Snapshot:

Conclusione:

Abbiamo discusso del tipo di dati della struttura in C e dei modi per dichiarare gli oggetti e i puntatori per strutturare gli oggetti. Abbiamo anche discusso di pochi esempi e con output. Sia gli oggetti che i puntatori sono stati discussi. Anche una serie di oggetti e puntatore agli oggetti sono stati discussi con esempi.