ExpertiDict

C · Essencial · Português · Técnico

desreferência

/dez.ʁe.feˈɾẽ.sjɐ/substantivo

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

Veja também

Todos os termos de C