C · Essencial · Português · Técnico
desreferência
Ato de acessar o valor guardado no endereço de um ponteiro, usando o operador *. Permite ler ou escrever o objeto apontado.
Onde usar
É o passo que causa segmentation fault quando o ponteiro é nulo ou inválido. Em code review, vale checar se cada desreferência tem um ponteiro garantidamente válido.
Em código
#include <stddef.h>
int le(const int *p) {
if (p == NULL)
return 0;
return *p; // desreferência
}Exemplos
Antes da desreferência, confira se o ponteiro não é nulo.
A desreferência falhou porque o ponteiro nunca foi inicializado.
Cuidado
Desreferenciar um ponteiro nulo ou já liberado é comportamento indefinido, não um erro que se possa tratar.
Sinônimos
indireção
Antônimos
operador de endereço