Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vidaloka860

Ponteiro

Recommended Posts

Terei uma aula de ponteiro, mais como esterei viajando não assistirei...

 

Ai li sobre o assunto na net, so que não achei uma aplicação pratica de usar ponteiro :S

 

 

quem pode me explicar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algumas estruturas de dados bastante conhecidas são implementadas com ponteiros: lista encadeada, lista duplamente encadeada, fila, pilha, árvores, grafos.

A grosso modo, até mesmo a execução de um programa depende de ponteiros* no nível do Assembly.

 

* Lembre-se que "ponteiro" é só um nome; não se prenda à notação. No caso da representação de um programa em Assembly, existem alguns registradores especiais, $sp (stack pointer) e $ip (instruction pointer), que armazenam endereços de memória.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ponteiro não serve pra selecionar onde eu quero salvar, qual a utilidade, se eu ainda não sei ponteiro e consigo programar?

 

No que ele vai mudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está pensando em variáveis "simples", estruturas estáticas.

Ponteiros são muito utilizados com estruturas dinâmicas para economia de memória.

Uma coisa é eu assumir que um registro de empregados pode ter 5000 funcionários:

 

typedef struct {
 char nome[255];
 unsigned int registro;
} empregado;

empregado registros[5000];

 

Mesmo que minha empresa tenha 12 empregados, o espaço alocado vai ser p/ 5000 e é algo completamente inutilizado.

 

Com ponteiros é possível criar um lista dinâmica de empregados, virtualmente sem limite superior. E se a empresa passar do tamanho que eu previ, não tenho que recompilar tudo.

 

Também é possível representar strings sem restrição de tamanho na declaração usando char *.

 

Outro uso p/ ponteiros são as chamadas funções callbacks, que você passa como argumento de outra função:

 

int * sort( int * (*sorting_function), int * array_to_sort) { ... } 

 

A biblioteca pthreads usa isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.