Qual é a diferença entre os * e os operadores na programação C

Qual é a diferença entre os * e os operadores na programação C
Os operadores são usados ​​para executar operações em variáveis ​​e são muito úteis para o programador executar operações como formas matemáticas, relacionais e lógicas. No idioma C, temos muitos tipos de funções internas que são usadas para executar tarefas específicas com a ajuda de um único operador de sinal.

Nesta diretriz, veremos a diferença entre o * e & operadores em programação C.

* Operador em C

O * O operador é um dos operadores amplamente utilizados na linguagem de programação C que é usada para recuperar os valores de um ponteiro. Também nomeamos o operador * como um operador de dereferência. Ao usar este operador, você pode acessar facilmente os dados armazenados na memória usando a ajuda dos ponteiros de endereço. Se você o usar no programa, você deve inicializar um ponteiro que está apontando para o endereço para que esse seja facilmente recuperado o valor armazenado no ponteiro de endereço.

& Operador em C

& O operador, por outro lado, é usado para retornar o endereço do operando no local da memória. Devido ao Operador, você pode facilmente obter o endereço da variável que é referida no local da memória. Para ver o endereço da variável de qualquer tipo de tipo de dados, você terá que dar o nome da variável com o sinal de & -Operator.

Exemplos

Abaixo estão alguns exemplos de programas C que usam * operador, & operador e uma combinação de ambos.

Exemplo 1: Operador do programa (*) Operador

#incluir
int main ()
int a = 5;
int *p = & a;
printf ("o valor de a é %d \ n", *p);
retornar 0;

O código inicializa a variável A Com o valor 5, então declara uma variável do tipo ponteiro para ter algum endereço da memória e na função Printf, mostra o valor do endereço A que é 5.

Saída

Exemplo 2: Operador do programa (&) Operador

#incluir
int main ()

int var1 = 1000;
int var2;
var2 = &var1;
printf ("O endereço de localização de memória do var2 é %i", var2);
retornar 0;

No código acima, primeiro, há uma variável inteira VAR1 que tem o valor de 1000. Há outra variável VAR2 que leva o endereço da variável VAR1. O endereço é então impresso usando o %eu Especificadores de formato.

Saída

Exemplo 3: o programa usa os operadores e * e *

#incluir
int main ()
int aa = 5, bb;
int *pp;
pp = &aa;
bb = *pp;
printf ("----- O endereço de AA é 0x%x \ n -----", & aa);
printf ("----- ADDRES de BB é 0x%x \ n -----", & bb);
printf ("----- O valor do PP é 0x%x \ n -----", pp);
printf ("--------- agora o valor de AA é %d \ n -----", aa);
printf ("------- Valore de *pp ISS %d \ n -----", *pp);
printf ("----- O valor de BB é: %d ----", bb);
retornar 0;

No código C acima, duas variáveis ​​inteiras simples são inicializadas e uma variável do tipo ponteiro *pp. Em seguida, atribuímos o endereço AA ao PP e novamente desreferimos seu valor pela variável bb. No final, imprimimos todos os valores usando a função printf.

Saída

Conclusão

Os operadores têm um papel muito significativo na linguagem de programação. Neste artigo, discutimos dois operadores que trabalham apenas com operandos únicos e usam para aumentar o desempenho do código na linguagem de programação C C. Ambos * e & Os operadores inferem em seu significado e funcionalidades como * é usado para "retorna o valor variável" enquanto & é para “manipulação de valores no tempo de execução, tomando endereços de memória”.