Introdução
Na linguagem C, os ponteiros podem ser comparados uns aos outros usando operadores relacionais, como maior que, menor que e igual a. Este laboratório mostrará como comparar ponteiros na linguagem de programação C e fornecerá exemplos para ponteiros do mesmo e de diferentes tipos apontando para o mesmo array.
Declarar variáveis ponteiro
Comece declarando duas variáveis ponteiro do mesmo tipo ou de tipos diferentes, dependendo dos requisitos do seu programa. Neste exemplo, declararemos dois ponteiros inteiros chamados ptrA e ptrB.
int *ptrA, *ptrB;
Atribuir endereço de memória a variáveis ponteiro
Em seguida, atribua um endereço de memória às variáveis ponteiro usando o operador de declaração de ponteiro (*) e o operador de endereço (&). Isso também pode ser feito usando um cast (conversão), como fizemos nestes exemplos.
ptrA = (int *) 1;
ptrB = (int *) 2;
Comparar variáveis ponteiro
Compare as duas variáveis ponteiro usando um dos operadores relacionais. Neste exemplo, usamos o operador maior que (>). Se a condição for verdadeira, ele imprimirá a instrução dentro do bloco if.
if(ptrB > ptrA) {
printf("PtrB is greater than ptrA");
}
Repetir passos para diferentes tipos de ponteiros
Repita os passos 1-3 para variáveis ponteiro de diferentes tipos que apontam para o mesmo array. Neste exemplo, declaramos um ponteiro inteiro (ptrA) e um ponteiro float (ptrB), e atribuímos a eles endereços de memória.
int *ptrA;
float *ptrB;
ptrA = (int *) 1000;
ptrB = (float *) 2000;
Testar comparação de ponteiros
Compare os dois ponteiros usando um operador relacional.
if(ptrB > ptrA) {
printf("PtrB is greater than ptrA");
}
Escrever código no arquivo main.c
Escreva todo o programa no arquivo main.c localizado no diretório ~/project/.
#include <stdio.h>
int main() {
int *ptrA, *ptrB;
float *ptrC, *ptrD;
ptrA = (int *) 1;
ptrB = (int *) 2;
ptrC = (float *) 100;
ptrD = (float *) 200;
if (ptrB > ptrA) {
printf("ptrB is greater than ptrA\n");
}
if (ptrD > ptrC) {
printf("ptrD is greater than ptrC\n");
}
return 0;
}
Compilar e executar o programa
Compile o programa usando um compilador C, como o GCC, e execute o programa para testar a comparação de ponteiros.
Resumo
Ponteiros podem ser comparados entre si usando operadores relacionais na programação C. Os exemplos neste laboratório demonstram como comparar ponteiros do mesmo e de diferentes tipos que apontam para o mesmo array. Ao comparar ponteiros, certifique-se de que eles estão apontando para o mesmo array para obter resultados precisos.



