Na linguagem C, um ponteiro é uma variável que armazena um endereço de memória, que por sua vez pode conter um valor. Os ponteiros são usados para acessar dados armazenados na memória de um programa e também são usados para alocar dinamicamente a memória durante a execução do programa.
A declaração de um ponteiro em C usa o operador “*” para indicar que a variável é um ponteiro. Exemplo, a declaração “int *p” declara uma variável chamada “p” que é um ponteiro para um valor inteiro.
Para atribuir um valor a um ponteiro em C, você pode usar o operador “&” para obter o endereço de memória de outra variável. Por exemplo, se você tem uma variável “x” do tipo inteiro, você pode atribuir o endereço de memória de “x” a um ponteiro “p” com a instrução “p = &x;”.
Para acessar o valor armazenado em um endereço de memória apontado por um ponteiro em C, você pode usar o operador “*” novamente. Exemplo, se você tem um ponteiro “p” apontando para um valor inteiro, você pode obter o valor desse endereço de memória usando a instrução “int y = *p;”.
Os ponteiros também são usados para alocar dinamicamente a memória em C, permitindo que o programa aloque e libere a memória conforme necessário durante a execução. Isso é feito usando as funções “malloc”, “calloc” e “realloc” para alocar a memória e a função “free” para liberá-la quando ela não é mais necessária.
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 5;
int y = 10;
printf("Antes da troca: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("Depois da troca: x = %d, y = %d\n", x, y);
return 0;
}
Neste exemplo, a função swap recebe dois ponteiros para inteiros como argumentos, que são usados para acessar os valores das variáveis a e b. Os valores dessas variáveis são trocados usando o método tradicional de troca de valores em variáveis temporárias. Em seguida, a função main chama swap passando os endereços de x e y como argumentos. Isso permite que a função swap acesse e troque os valores de x e y. Finalmente, a função main imprime os novos valores de x e y.
A saída deste programa será:
Antes da troca: x = 5, y = 10
Depois da troca: x = 10, y = 5
Observe que a função swap não retorna nenhum valor. Em vez disso, ela usa ponteiros para acessar e modificar os valores das variáveis a e b.
Resolva os exercícios da atividade proposta e cole os resultados no comentário.

EX_10
a) vet for declarado como char?
Vet+1= 4093
vet+2= 4094
vet+3= 4095
b) vet for declarado como int?
Vet+1= 4094
vet+2= 4096
vet+3= 4098
c) vet for declarado como float?
Vet+1= 4096
vet+2= 4100
vet+3= 4104
d) vet for declarado como double?
Vet+1= 4100
vet+2= 4108
vet+3= 4116
CurtirCurtir
Exercício 2 da lista 10 de ponteiros
#include <stdio.h>
int main() {
}
CurtirCurtir
EX_3
R: 28ff0c; 7; 5; 15; 9.
CurtirCurtir
//1. Escreva um programa que declare uma variável inteira e um ponteiro para esta variável,
//e em seguida atribua um valor à variável através do ponteiro. Comente o código com a explicação do exercício.
#include <stdio.h>
int main() {
int numero; // Declaração da variável inteira
int *ponteiro; // Declaração do ponteiro para a variável
}
CurtirCurtir
Ex 5 lista 9 (atividade 10)
As saídas do programa:
(a) 20
(b) 29.0
(c) U
(d) R
(e) U
(f) R
(g) P
(h) 31
(i) 45
(j) 27
(l) 31
(m) 45
(n) 27
CurtirCurtir
EX1_Lista10
#include <stdio.h>
int main() {
int numero;
int *ponteiro_numero;
ponteiro_numero = №
*ponteiro_numero = 10;
printf(“Valor da variável numero: %d\n”, numero);
return 0;
}
CurtirCurtir
O valor de x é: 20
#include <stdio.h> // Inclui a biblioteca stdio.h, que contém as funções de entrada e saída, como printf.
int main() { // Função principal do programa.
int x = 10; // Declara uma variável inteira chamada x e atribui o valor 10 a ela.
int *ptr = &x; // Declara um ponteiro para inteiro chamado ptr e atribui o endereço de memória da variável x a ele.
*ptr = 20; // Altera o valor apontado pelo ponteiro ptr para 20.
printf(“O novo valor de x é: %d\n”, x); // Imprime o novo valor da variável x na tela.
return 0; // Retorna 0 para indicar que o programa foi concluído com sucesso.
}
CurtirCurtir
Lista 10//ex1
#include <stdio.h>
int main() {
int a;
int p;
p = &a;
*p = 4;
printf(“%d” , a);
return 0;
}
Explicação: no código criou-se a variável “a” e o ponteiro “p” para “a”, em seguida, atribuiu-se ao valor de “p” o endereço de “a”, depois, atribuiu ao “*p” o valor 4. Assim, o código vai imprimir o valor 4.
CurtirCurtir