English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C Language Basic Tutorial

C Language Flow Control

Funzioni del linguaggio C

Array del linguaggio C

Puntatori del linguaggio C

Stringhe del linguaggio C

C Language Structures

C Language Files

C Others

C Language Reference Manual

Strutture e array del linguaggio C

Why use an array of structures?

For example, there is a situation where we need to store data for 5 students. We can use the following structure to store it.

#include <stdio.h>  
struct student  
{  
    char name[20];  
    int id;  
    float marks;  
};  
void main()
{
	struct student s1,s2,s3;
	int dummy;
	printf("Enter the name, ID and score of student 1:");
	scanf("%s %d %f",s1.name,&s1.id,&s1.marks);
	scanf("%c",&dummy);
	printf("Enter the name, ID and score of student 2:");
	scanf("%s %d %f",s2.name,&s2.id,&s2.marks);
	scanf("%c",&dummy);
	printf("Enter the name, ID and score of student 3:");
	scanf("%s %d %f",s3.name,&s3.id,&s3.marks);
	scanf("%c",&dummy);
	printf("Output detailed information....\n");
	printf("%s %d %f\n",s1.name,s1.id,s1.marks);
	printf("%s %d %f\n",s2.name,s2.id,s2.marks);
	printf("%s %d %f\n", s3.name, s3.id, s3.marks)}
}

Output del risultato

Inserisci il nome, la carta d'identità e il punteggio dello studente 1: James 90 90  
Inserisci il nome, la carta d'identità e il punteggio dello studente 2: Adoms 90 90  
Inserisci il nome, la carta d'identità e il punteggio dello studente 3: Nick 90 90       
Output dettagliato....        
James 90 90.000000                          
Adoms 90 90.000000                      
Nick 90 90.000000

Nel programma sopra, abbiamo memorizzato i dati di 3 studenti nella struttura. Tuttavia, se ci sono 20 studenti, la complessità del programma aumenterà. In questo caso, dovremo dichiarare 20 variabili di struttura diverse e memorizzarle una per una. Questo sarà sempre difficile, perché ogni volta che si aggiunge uno studente, è necessario dichiarare una variabile. Ricordare i nomi di tutte le variabili è anche una task molto complicata. Tuttavia, in C possiamo utilizzare l'array di dichiarazione delle strutture per evitare di dichiarare variabili di struttura diverse; al contrario, possiamo creare un insieme di strutture che contiene tutte le informazioni su diversi enti memorizzati.

Array di strutture in C

L'array di strutture in C può essere definito come un insieme di variabili di struttura, ognuna delle quali contiene informazioni su entità diverse. L'array di strutture in C viene utilizzato per memorizzare informazioni su più entità di diversi tipi. Gli array di strutture sono anche detti insieme di strutture.

Vediamo un esempio di array di strutture che memorizza le informazioni di 5 studenti e le stampa.

#include <stdio.h>  
#include <string.h>    
struct student{    
    int rollno;    
    char name[10];    
};   
int main(){  
    int i;  
    struct student st[5];  
    printf("Inserisci i dati di 5 studenti");  
    for(i=0; i<5; i++){  
        printf("\nInserisci il numero di sequenza:");  
        scanf("%d", &st[i].rollno);  
        printf("\nInserisci il nome:");  
        scanf("%s", &st[i].name);  
    }  
    printf("\nElenco delle informazioni degli studenti:");  
    for(i=0; i<5; i++){  
        printf("\nNumero di sequenza: %d, Nome: %s", st[i].rollno, st[i].name);  
    }  
       return 0;  
}

Output:

Inserisci i dati di 5 studenti
Inserisci il numero di sequenza: 1
Inserisci il nome: Sonoo
Inserisci il numero di sequenza: 2
Inserisci il nome: Ratan
Inserisci il numero di sequenza: 3
Inserisci il nome: Vimal
Inserisci il numero: 4
Inserisci il nome: James
Inserisci il numero: 5
Inserisci il nome: Sarfraz
Elenco delle informazioni degli studenti:
Numero: 1, Nome: Sonoo
Numero: 2, Nome: Ratan
Numero: 3, Nome: Vimal
Numero: 4, Nome: James
Numero: 5, Nome: Sarfraz