Visã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
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
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
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; }
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:
- Utilize o operador de desreferência (
*) para acessar o valor atual armazenado na memória — por exemplo,*pricerefere-se a100.0. - Calcule a porcentagem do preço atual —
*price * percentIncrease / 100.0, que para 10% de 100.0 resulta em10.0. - Adicione essa porcentagem ao valor original para obter o preço atualizado —
*price = *price + (percentage part). - A função não retorna nenhum valor — ela modifica diretamente o valor por meio do ponteiro.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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?
Incrível!
Completion taxa melhorada para 4.35
Visã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
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
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
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; }
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:
- Utilize o operador de desreferência (
*) para acessar o valor atual armazenado na memória — por exemplo,*pricerefere-se a100.0. - Calcule a porcentagem do preço atual —
*price * percentIncrease / 100.0, que para 10% de 100.0 resulta em10.0. - Adicione essa porcentagem ao valor original para obter o preço atualizado —
*price = *price + (percentage part). - A função não retorna nenhum valor — ela modifica diretamente o valor por meio do ponteiro.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Solução
Obrigado pelo seu feedback!
single