Saltar para o conteúdo

DC-UFRPE/Bacharelado em Ciência da Computação/Introdução a Programação I/Ponteiro

Fonte: Wikiversidade

Os ponteiros são variáveis que armazenam endereços de memória. Eles permitem que você manipule diretamente dados na memória, o que pode ser muito útil em diversas situações.


Aqui está um exemplo básico que demonstra o uso de ponteiros em C:

#include <stdio.h>

int main() {
    int x = 10;         // declara uma variável inteira x
    int *ponteiro;      // declara um ponteiro para inteiro
    
    ponteiro = &x;      // atribui o endereço de x ao ponteiro
    
    printf("O valor de x é %d\n", x);        // imprime o valor de x
    printf("O valor de *ponteiro é %d\n", *ponteiro);  // imprime o valor apontado por ponteiro
    
    *ponteiro = 20;     // modifica o valor apontado por ponteiro
    
    printf("O novo valor de x é %d\n", x);   // imprime o novo valor de x
    printf("O novo valor de *ponteiro é %d\n", *ponteiro);  // imprime o novo valor apontado por ponteiro
    
    return 0;
}

Neste exemplo, criamos uma variável inteira x e um ponteiro para inteiro ponteiro. A seguir, atribuímos o endereço de x ao ponteiro usando o operador &. Em seguida, imprimimos o valor de x e o valor apontado por ponteiro, que deveria ser igual ao valor de x. Depois, modificamos o valor apontado por ponteiro e imprimimos novamente x e o valor apontado por ponteiro. Apesar de ter sido atribuído o número 20 somente ao valor do ponteiro, essa mudança também deve refletir em x.

O operador * é usado para referenciar um ponteiro, ou seja, para acessar o valor apontado pelo ponteiro. Por exemplo, *ponteiro acessa o valor apontado por ponteiro.