Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Visão Geral Breve Sobre Ponteiros | Trabalhando com Ponteiros e Structs
Dominando Structs em C

bookVisão Geral Breve Sobre Ponteiros

Operador de Desreferenciação

Um ponteiro é uma variável que contém o endereço de outro objeto.

O operador de desreferenciação "*" retorna o valor armazenado no endereço.

A declaração e inicialização de um ponteiro é feita assim:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

Operador de Referência &

O operador & retorna o endereço de um objeto:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Uma variável do tipo ponteiro é utilizada para armazenar o endereço, que é retornado pelo operador &.

int variable;
int* pVariable;
pVariable = &variable;

Para acessar o conteúdo no endereço especificado, deve-se utilizar o operador * em uma variável do tipo ponteiro.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Tarefa

Swipe to start coding

Você possui um produto com um preço específico e precisa aumentar seu valor por uma determinada porcentagem.
Sua tarefa é implementar uma função que atualize o preço do produto utilizando um ponteiro.

Dentro da função updatePrice:

  1. Utilize o operador de desreferência (*) para acessar o valor atual armazenado na memória — por exemplo, *price refere-se a 100.0.
  2. Calcule a porcentagem do preço atual*price * percentIncrease / 100.0, que para 10% de 100.0 resulta em 10.0.
  3. Adicione essa porcentagem ao valor original para obter o preço atualizado*price = *price + (percentage part).
  4. A função não retorna nenhum valor — ela modifica diretamente o valor por meio do ponteiro.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 1
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:

Can you explain the difference between the * and & operators in more detail?

Can you give an example of how to use pointers in a function?

What are some common mistakes when working with pointers?

close

bookVisão Geral Breve Sobre Ponteiros

Deslize para mostrar o menu

Operador de Desreferenciação

Um ponteiro é uma variável que contém o endereço de outro objeto.

O operador de desreferenciação "*" retorna o valor armazenado no endereço.

A declaração e inicialização de um ponteiro é feita assim:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

Operador de Referência &

O operador & retorna o endereço de um objeto:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Uma variável do tipo ponteiro é utilizada para armazenar o endereço, que é retornado pelo operador &.

int variable;
int* pVariable;
pVariable = &variable;

Para acessar o conteúdo no endereço especificado, deve-se utilizar o operador * em uma variável do tipo ponteiro.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Tarefa

Swipe to start coding

Você possui um produto com um preço específico e precisa aumentar seu valor por uma determinada porcentagem.
Sua tarefa é implementar uma função que atualize o preço do produto utilizando um ponteiro.

Dentro da função updatePrice:

  1. Utilize o operador de desreferência (*) para acessar o valor atual armazenado na memória — por exemplo, *price refere-se a 100.0.
  2. Calcule a porcentagem do preço atual*price * percentIncrease / 100.0, que para 10% de 100.0 resulta em 10.0.
  3. Adicione essa porcentagem ao valor original para obter o preço atualizado*price = *price + (percentage part).
  4. A função não retorna nenhum valor — ela modifica diretamente o valor por meio do ponteiro.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

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 2. Capítulo 1
single

single

some-alt