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 }