Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Trabalhando com Ponteiros | Ponteiros
Fundamentos de C

bookTrabalhando com Ponteiros

Utilizando o operador de referência & e o operador de desreferência *, é possível criar e manipular ponteiros.

Um ponteiro é um tipo de dado, assim como int, char ou double. O ponteiro é projetado para armazenar um endereço, que pode ser obtido utilizando o operador &. Para declarar um ponteiro, adicione o caractere * antes do nome.

main.c

main.c

copy
123
int* intPointer; // Pointer to an `int` variable double* doublePointer; // Pointer to a `double` variable char* charPointer; // Pointer to a `char` variable

Em essência, um ponteiro é uma variável que armazena o endereço de outro objeto.

main.c

main.c

copy
123
int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
Note
Nota

Normalmente, ponteiros são nomeados prefixando a letra p ao nome do objeto para o qual apontam.

Ao desreferenciar um ponteiro, você acessa o valor da variável para a qual ele aponta.

Main.c

Main.c

copy
12345678910111213
#include <stdio.h> int main() { int x = 22543; // Variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // Value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // Pointer dereference return 0; }
Note
Nota

*(&variable) == *pVariable

Se você tentar desreferenciar um ponteiro nulo, o compilador irá gerar um erro:

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Tarefa

Swipe to start coding

Determinar o tamanho de ponteiros para int e double.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

What is the difference between referencing and dereferencing a pointer?

Can you give an example of how to declare and use a pointer?

Why is dereferencing a null pointer an error?

close

Awesome!

Completion rate improved to 2.63

bookTrabalhando com Ponteiros

Deslize para mostrar o menu

Utilizando o operador de referência & e o operador de desreferência *, é possível criar e manipular ponteiros.

Um ponteiro é um tipo de dado, assim como int, char ou double. O ponteiro é projetado para armazenar um endereço, que pode ser obtido utilizando o operador &. Para declarar um ponteiro, adicione o caractere * antes do nome.

main.c

main.c

copy
123
int* intPointer; // Pointer to an `int` variable double* doublePointer; // Pointer to a `double` variable char* charPointer; // Pointer to a `char` variable

Em essência, um ponteiro é uma variável que armazena o endereço de outro objeto.

main.c

main.c

copy
123
int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
Note
Nota

Normalmente, ponteiros são nomeados prefixando a letra p ao nome do objeto para o qual apontam.

Ao desreferenciar um ponteiro, você acessa o valor da variável para a qual ele aponta.

Main.c

Main.c

copy
12345678910111213
#include <stdio.h> int main() { int x = 22543; // Variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // Value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // Pointer dereference return 0; }
Note
Nota

*(&variable) == *pVariable

Se você tentar desreferenciar um ponteiro nulo, o compilador irá gerar um erro:

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Tarefa

Swipe to start coding

Determinar o tamanho de ponteiros para int e double.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 3
single

single

some-alt