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);