Alocação Estática de Memória
Por: ninami54 • 28/3/2016 • Trabalho acadêmico • 811 Palavras (4 Páginas) • 512 Visualizações
Relatório 1 – Estrutura de Dados
Etapa 1
Passo 3.1
Alocação Estática de Memória
Na alocação estática, o espaço de memória que as variáveis irão utilizar durante a execução do programa é definido no processo de compilação.
Não sendo possível alterar o tamanho desse espaço durante a execução do programa.
Exemplo 1:
Se o espaço for reservado para trinta e seis (6x6) valores do tipo double.
Double utiliza 8 bytes na memória, então 6x6x8=288 bytes.
double matriz[6][6];
Exemplo 2:
Se o espaço for reservado para um valor do tipo char.
Char utiliza 1 byte na memória.
char x;
Exemplo 3:
Se o espaço for reservado para cinco valores do tipo int.
Int utiliza 4 bytes na memória, então 4x5=20 bytes.
int vetor[5];
Esse modelo de alocação é usado quando sei antecipadamente a quantidade de memória que será usada pelo programa.
Passo 3.2
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
// Programa que implementa a struct aviao, solicita e imprime cadastro
struct aviao
{
char modelo[20];
char fabricante[20];
int passageiros;
char comprimento[15];
char altura[15];
char velocidade[15];
int altitude;
char motor[20];
};
int main ()
{
aviao a;
printf("\nCadastro Aviao:\n");//INSERIR DADOS
printf("Modelo:\n");
gets(a.modelo);
printf("Fabricante:\n");
gets(a.fabricante);
printf("Passageiros:\n");
scanf("%d",&a.passageiros);
fflush(stdin);
printf("Comprimento:\n");
gets(a.comprimento);
printf("Altura:\n");
gets(a.altura);
printf("Velocidade:\n");
gets(a.velocidade);
printf("Altitude:\n");
scanf("%d",&a.altitude);
fflush(stdin);
printf("Motor:\n");
gets(a.motor);
fflush(stdin);
//MOSTRAR DADOS
printf("\nDados do Aviao:\n");
printf("Modelo:%s\n",a.modelo);
printf("Fabricante:%s\n",a.fabricante);
printf("Passageiros:%d\n",a.passageiros);
printf("Comprimento:%s\n",a.comprimento);
printf("Altura:%s\n",a.altura);
printf("Velocidade:%s\n",a.velocidade);
printf("Altitude:%d \n",a.altitude);
printf("Motor:%s\n",a.motor);
system("pause");
return 0;
}
Relatório 2 – Listas ligadas
Etapa 2
Passo 2
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>
//Controle de lista utilizando struct voostruct voo
{
int passageiros,numerovoo;
char aerosaida[30], aerochegada[30],rota[40],datavoo[20],horavoo[10],tempovoo[10];
struct voo *prox;
};
typedef struct voo lista;
lista *inicio=NULL;
lista *atual=NULL;
lista *anterior=NULL;
void inicializa()
{inicio =(lista*) malloc (sizeof (lista));
if (!inicio)
{ printf("\nNao existe espaco na memoria!");
exit(1);
}inicio->prox = NULL;}
void menu()
{
system("cls");
printf("\n\t\t\t BEM VINDO A VOEBEM"); printf("\n\n1 - Cadrastrar Voo\t2 - Remover Voo\n3 - Consultar Voo\t4 - Sair da aplicacao\n\n");
...