![]()  | 
 | 
Capítulo 3
Parte 2:
Alocação Dinâmica
de Memória
3.1 As Funções de Alocação Dinâmica de Memória em "C"
Já visto até agora:
| Ao ser inciada
e execução:
 #include <stdio.h> char *a, *b; int func_A ()
 void func_B ()
 main ()
  | 
![]()  | 
| Ao serem atribuídas
as variáveis estáticas 
 (neste caso como ponteiros): #include <stdio.h>
 int func_A ()
 void func_B ()
 main ()
  | 
![]()  | 
| Logo após
a chamada de func_b:
 #include <stdio.h>
 int func_A ()
 void func_B ()
 main ()
  | 
![]()  | 
| Logo após
a chamada de func_A a partir de func_B:
 #include <stdio.h>
 int func_A ()
 void func_B ()
 main ()
  | 
![]()  | 
Modelagem da estrutura
Modelagem da Lista
tipo Lista {
caracter *dados[Maxlista];
" Vetor de ponteiros para char "
inteiro ultimo;
};
Exercício Nº
2:
Trabalho com Passagem de
Parâmetros
caracter *nome;
"ponteiro para char alocado no heap"
real valor;
};
tipo ListaContabil {
Lancamento dados[Maxlista];
" Vetor de Estrutura Lançamento "
inteiro ultimo;
};
caracter *nome;
real valor)
Usando (código C)
debitos.dados[2].valor = 5.0;
strcpy(debitos.dados[2].nome, buffer);
Dentro das funções:
Suponha: ListaContabil *ponteiro
e ponteiro = &debitos;
ponteiro->dados[2].valor = 5.0;
strcpy(ponteiro->dados[2].nome, buffer);