Вы находитесь на странице: 1из 5

Etapa 1

Alocao estatica da memoria


Alocao Esttica de Memria pode ser definida com uma simples
declarao de uma varivel, pois o compilador ir alocar automaticamente um
bloco contiguo na memria para armazenar a varivel declarada,
int x; // O compilador armazenar um espao suficiente para essa varivel, no
caso 4 bytes.
importante que ao se declarar uma varivel tambm se inicialize a
mesma para que no seja adquirido lixos de memria, sendo assim o correto
seria assim:
int x = 0; // Varivel ser declarada e inicializada com 0.
A liberao da alocao feita pelo compilador, ou seja, a varivel
apagada assim que o programa acaba.
Este tipo de alocao utilizada quando o programador sabe de
antemo a quantidade de memoria que sera utilizada pelo programa.
Uma possvel desvantagem desse tipo de alocao que no possvel
alterar o tamanho de espao alocado no decorrer da execuo do programa,
por outro lado na alocao esttica os dados so mamtidos organizados na
memoria, dispostos um ao lado do outro de forma linear e sequencial, isto
facilita a localizao e manipulao.
Um exemplo tpico de utilizao de variveis alocada estaticamente so
as variveis globais e as arrays.

Codigo do Programa
Como proposto no desafio de apresentar uma soluo comlputacional
em Estutura de dados para a empresa area VOEBEM, iniciamos as atividades
desenvolvendo um programa de cadastro de avies da empresa e mostre os
mesmos, Veja a seguir o cdigo desenvolvido na linguagem c, e as telas do
programa, para exemplifica sua utilizao.
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 typedef struct aviao{ //cria uma estrutura do tipo Aviao com o nome de aviao
5 char modelo[50];
6 char fabricante[20];
7 int passageiros;
8 float comprimento;
9 float altura;
10 float velocidade;
11 float altitude;
12 char motor[30];
13 }Aviao;
14 Aviao cadastrar (void){ //funo que cadastra os avies
15 Aviao a;
16 printf("Digite o modelo do aviao: ");
17 fflush(stdin);
18 gets(a.modelo);
19 printf("\nDigite o fabricante do aviao: ");
20 fflush(stdin);
21 gets(a.fabricante);
22 printf("\nDigite a quantidade de passageiros do aviao: ");
23 scanf("%d",&a.passageiros);
24 printf("\nDigite o comprimento do aviao: ");
25 scanf("%f",&a.comprimento);
26 printf("\nDigite a altura do aviao: ");
27 scanf("%f",&a.altura);
28 printf("\nDigite a velocidade do aviao: ");
29 scanf("%f",&a.velocidade);
30 printf("\nDigite a altitude do aviao: ");
31 scanf("%f",&a.altitude);
32 printf("\nDigite o motor do aviao: ");
33 fflush(stdin);
34 gets(a.motor);
35 printf("\n\n********************\n");
36 return a;
37 }
38 void mostrar (Aviao a){//funo que mostra os avies
39 printf("Modelo: %s\n", a.modelo);
40 printf("Fabricante: %s\n", a.fabricante);
41 printf("Passageiros: %d\n", a.passageiros);
42 printf("Comprimento: %.2f m\n", a.comprimento);
43 printf("Altura: %.2f m\n", a.altura);
44 printf("Velocidade: %.2f Km/h\n", a.velocidade);
45 printf("Altitude: %.2f m\n", a.altitude);
46 printf("Motor: %s\n", a.motor);
47 }
48 int main(){
49 system("color f1");
50 Aviao a;
51 printf("**********VOEBEM***********\n\n");
52 a=cadastrar(); //atribui-se a funo cadastrar a variavel a que do tipo avio
53 mostrar(a); //chamada da funo mostrar que tem como argumento a variavel a
54 }

A tela de execuo deste cdigo ficou assim:



Etapa 2

Вам также может понравиться