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

Tutorial Básico de Linguagem C

Controle de Fluxo de Linguagem C

Funções C

Arrays C

Ponteiros C

Strings C

Estruturas de Linguagem C

Arquivos de Linguagem C

Outros C

Manual de Referência do Linguagem C

Estrutura e Array C

Por que usar arrays de estruturas?

Por exemplo, há uma situação em que precisamos armazenar5Os dados de um estudante. Podemos usar a estrutura fornecida abaixo para armazená-los.

#include <stdio.h>  
struct student  
{  
    char name[20];  
    int id;  
    float marks;  
};  
void main()
{
	struct student s1,s2,s3;
	int dummy;
	Digite o nome1do nome, CPF e nota de ");
	scanf("%s %d %f", s1.name, &s1.id, &s1.marks);
	scanf("%c", &dummy);
	Digite o nome2do nome, CPF e nota de ");
	scanf("%s %d %f", s2.name, &s2.id, &s2.marks);
	scanf("%c", &dummy);
	Digite o nome3do nome, CPF e nota de ");
	scanf("%s %d %f", s3.name, &s3.id, &s3.marks);
	scanf("%c", &dummy);
	printf("Saída de detalhes....\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);
}

Saída dos resultados

Digite o nome1do nome, CPF e nota de James 90 90  
Digite o nome2do nome, CPF e nota de Adoms 90 90  
Digite o nome3do nome, CPF e nota de Nick 90 90       
Saída de detalhes....        
James 90 90.000000                          
Adoms 90 90.000000                      
Nick 90 90.000000

No programa acima, armazenamos3dados de20 alunos, a complexidade do programa aumentará. Neste caso, teremos que declarar20 diferentes variáveis de estrutura, armazenando uma a uma. Isso será sempre difícil, porque a cada vez que adicionarmos um aluno, devemos declarar uma variável. Lembrar dos nomes de todas as variáveis também é uma tarefa muito difícil. No entanto, em C, podemos usar a declaração de array de estrutura para evitar a declaração de diferentes variáveis de estrutura; em vez disso, podemos criar um conjunto de estruturas que contém todas as informações armazenadas sobre diferentes entidades.

Em C, um array de estruturas

Em C, um array de estruturas pode ser definido como um conjunto de variáveis de estrutura, onde cada variável contém informações sobre diferentes entidades. Em C, um array de estruturas é usado para armazenar informações sobre várias entidades de diferentes tipos de dados. O array de estruturas também é chamado de conjunto de estruturas.

Vamos ver como armazenar5de estrutura de array de exemplo para armazenar e imprimir informações de vários alunos.

#include <stdio.h>  
#include <string.h>    
struct student{    
    int rollno;    
    char name[10];    
};   
int main(){  
    int i;  
    struct student st[5];  
    printf("Digite");5dados de um aluno");  
    for(i=0;i<5;i++{  
        printf("\nDigite o número de ordem:");  
        scanf("%d", &st[i].rollno);  
        printf("\nDigite o nome:");  
        scanf("%s", &st[i].name);  
    }  
    printf("\nLista de informações dos alunos:");  
    for(i=0;i<5;i++{  
        printf("\nNúmero de ordem: %d, Nome: %s", st[i].rollno, st[i].name);  
    }  
       return 0;  
}

Saída:

Digite5dados de um aluno
Insira o Número:1
Digite o nome: Sonoo
Insira o Número:2
Insira o Nome: Ratan
Insira o Número:3
Insira o Nome: Vimal
Insira o Número:4
Insira o Nome: James
Insira o Número:5
Insira o Nome: Sarfraz
Lista de Informações de Estudantes:
Número:1, Nome: Sonoo
Número:2, Nome: Ratan
Número:3, Nome: Vimal
Número:4, Nome: James
Número:5, Nome: Sarfraz