Criação de Ponteiros

Delphi

07/10/2004

pessoal trabalho com ponteiros em pascal lá eu os aloco com o comando
new(ponteiro);

e desaloco com
dispose(ponteiro);

e em C++ qual a forma de alocação e desalocação?


Bruno Belchior

Bruno Belchior

Curtidas 0

Respostas

Raimundo_farias

Raimundo_farias

07/10/2004

Oi cara!
bom,
você vai incluir a seguinte biblioteca.
#include <alloc.h>


o comando para criar o ponteiro é:

     int *valor = (int *) malloc(sizeof(int));


int *valor - (declaração da variavel ´valor´ como um ponteiro para inteiro)

(int *) - com isso vc garante que o endereço que for retornado pela função malloc seja do tipo ponteiro para inteiro. no C, dependendo do compilador isso pode variar acho que por default ele retorna ponteiro pra char. isso se chama CAST (conversão explicita de tipo)

malloc(sizeof(int)) - a função malloc() é utilizada para retornar o endereço da memoria (igual a new()) a diferença é que a gente pode chamar a função sizeof() dentro dela por uma questão de portabilidade tipo, independente da maquina que esta compilando ou melhor da forma com que diferentes arquiteturas tratam inteiros (tamanho do numero em bits) o comando malloc(sizeof(int)) retorna um espaço de memoria que comporte um tipo de dado inteiro para esta maquina.

vc pode usar tambem:

struct MinhaEstrutura *valor = (struct MinhaEstrutura *) malloc(sizeof(struct MinhaEstrutura)); 


para remover da memoria use:

free(valor);


Bem Bruno, espero ter tirado suas duvidas.
Qualquer coisa é só postar novamente!

Raimundo Farias


GOSTEI 0
Bruno Belchior

Bruno Belchior

07/10/2004

obrigado...
resolveu o meu problema é q eu tava portando meu codigo de pilha e fila duplamente encadeada com nó descritor para C++, tava funcionando mas eu queria otimizar o código p/ remover qualquer lixo de memória valeuuu


GOSTEI 0
POSTAR