Você está na página 1de 2

Para estabelecer uma variável dinâmica, é preciso obter uma certa quantidade de espaço de

memória.
No exemplo acima, o espaço necessário é o número de bytes que acomoda o tipo nó.
A alocação desse espaço e a sua localização na memória será feita pela execução de um
procedimento predefinido chamado malloc.

Comando Malloc

O procedimento malloc tem como parâmetro uma variável ponteiro e, quando ativado, aloca
espaço de memória de acordo com a declaração do tipo ponteiro.

Exemplo:

Ptr = (no*) malloc(syzeof(no));

Aloque espaço de memória do tamanho de nó, para a variável do tipo ponteiro. Este
procedimento aloca espaço de memória para a estrutura tipo nó e faz com que o endereço
dessa estrutura seja armazenado na variável ptr.

Portanto que ao fazer alocaão do endereço ao ponteiro a, struct continua vazia, ou seja, sem
dados.

Para que possamos acessar os dados na struct, será necessário utilizar o concatenador
conforme exemplo:

Ptr(ponteiro) => concatenador =>codigo(identificado de campo

As variaveis dinamicas, ou ponteiro, podem ser operacionalizadas da mesma forma que as


variáveis dinamicas. Ex:

scanf("%s", & ptr->nome);


printf("%d", ptr->código);
ptr->codigo ++;
If strcmp(ptr->nome, xnome) == 0)
{}

Comando null

Toda vez que ao declarar uma variável dinâmica no programa a variável assume “sujeira”.
A fim de evitar este incômodo, será necessário fazer com que as variáveis estejam apontada
para nada.
Ex:
Ptr = null;

https://www.ime.usp.br/~pf/algoritmos/aulas/aloca.html

#include<stdio.h>
#include<stdlib.h>

typedef struct no{

int A = null;
char B[30] = null;
}no;

int main(){

for(int i = 0; i<=30; i++){

A = (no*)malloc(sizeof(no));

scanf("%d", &A->codigo);
scanf("%s", &A->nome);

}
}

Você também pode gostar