Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
E qual a utilidade de armazenar o endereço da memoria...
Eu selecionando ponteiro ou não, os dados não serão salvos?
Sugiro que faça uma pergunta. :-)
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?
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.
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.