Menu
Coddy logo textTech

Declarando Ponteiros

Parte da seção Logic & Flow do Journey de C da Coddy — lição 2 de 63.

Agora que você entende o que são ponteiros, vamos aprender como criá-los. Declarar uma variável de ponteiro segue uma sintaxe específica que diz ao compilador para qual tipo de dado o ponteiro apontará.

A sintaxe básica para declarar um ponteiro é: data_type *pointer_name;

int *ptr;        // Declara um ponteiro para um inteiro
char *ch_ptr;    // Declara um ponteiro para um caractere
float *f_ptr;    // Declara um ponteiro para um float

O asterisco (*) é o que torna esta uma declaração de ponteiro. Ele diz ao compilador que esta variável armazenará um endereço de memória, não o valor real do dado. Quando você declara int *ptr;, você está dizendo "ptr é um ponteiro que pode armazenar o endereço de uma variável inteira."

Observe que o tipo de dado antes do asterisco especifica para que tipo de dado o ponteiro apontará. Isso é importante porque diferentes tipos de dados ocupam diferentes quantidades de espaço na memória, e o compilador precisa saber dessa informação para o gerenciamento adequado da memória.

challenge icon

Desafio

Fácil

Escreva um programa em C que demonstre a sintaxe correta de declaração de ponteiros. Seu programa deve:

  1. Declarar um ponteiro para um inteiro chamado int_ptr
  2. Declarar um ponteiro para um caractere chamado char_ptr
  3. Declarar um ponteiro para um float chamado float_ptr
  4. Imprimir os endereços de memória armazenados em cada ponteiro usando printf com o especificador de formato %p

Sua saída deve exibir os três endereços de ponteiro no seguinte formato:

Integer pointer: [address]
Character pointer: [address]  
Float pointer: [address]

Observe que os endereços de memória reais variam, mas o formato e os rótulos devem corresponder exatamente como mostrado acima.

Folha de consulta

Para declarar uma variável de ponteiro, use a sintaxe: data_type *pointer_name;

int *ptr;        // Declara um ponteiro para um inteiro
char *ch_ptr;    // Declara um ponteiro para um caractere
float *f_ptr;    // Declara um ponteiro para um float

O asterisco (*) torna esta uma declaração de ponteiro, informando ao compilador que esta variável armazenará um endereço de memória. O tipo de dado antes do asterisco especifica que tipo de dado o ponteiro apontará.

Use o especificador de formato %p com printf para exibir endereços de ponteiro.

Experimente você mesmo

#include <stdio.h>

int main() {
    // TODO: Declare seus ponteiros aqui
    
    
    // TODO: Imprima os endereços dos ponteiros usando o formato solicitado
    
    
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow