Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Operações com Ponteiros
- Um ponteiro pode ter o valor especial NULL que é o "zero" (aponta para nenhum endereço) de ponteiros.
Exemplo
int *p = NULL;
Atribuição
- O ponteiro ptr1 aponta para a mesma variável (endereço) que o ponteiro ptr.
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main(){
int *ptr, *ptr1;
int numero;
numero = 20;
ptr = №
ptr1 = ptr; // ambos estão apontado para o endereço de número.
printf("\nptr = %d",*ptr);
printf("\nptr1 = %d",*ptr1);
}
Enter to Rename, Shift+Enter to Preview
- a variável apontada por ptr1 recebe o mesmo conteúdo da variável apontada por ptr;
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main(){
int *ptr, *ptr1;
int numero, total;
numero = 20;
total = 10;
ptr = №
ptr1 = &total;
*ptr1 = *ptr; // as variáveis numero e total contém o mesmo valor de número.
printf("\nNumero = %d",numero);
printf("\nTotal = %d",total);
}
Enter to Rename, Shift+Enter to Preview
- Apenas duas operações aritméticas podem ser utilizadas com ponteiros: adição e subtração. Muito util para trabalhar com vetores.
- Podemos somar e subtrair apenas valores INTEIROS.
p++;
soma +1 no endereço armazenado no ponteiro.
p--;
subtrai 1 no endereço armazenado no ponteiro.
- Com relação ao conteúdo apontado, valem todas as operações
(*p)++;
incrementar o conteúdo da variável apontada pelo ponteiro p;
*p = (*p) * 10;
multiplica o conteúdo da variável apontada pelo ponteiro p por 10;
- Operações relacionais
== e != para saber se dois ponteiros são iguais ou diferentes.
>, <, >= e <= para saber qual a posição (endereço) mais alta na memória ocupado por um ponteiro.
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content