Quelle est la différence entre l'opérateur & et l'opérateur *?


Réponse 1:

& et * les deux sont opérateurs unaires en C

& → qui renvoie l'adresse mémoire de l'opérande passé.

* → qui retourne la valeur de l'objet pointé par une variable pointeur.

Petit ex:

int a; // déclarant un int

int * p; // déclarer un pointeur sur un int

int & r = a; // déclarer une référence à un int et l'initialiser pour référencer un.

OU

int a;

int * p;

p = & a; // obtenir le pointeur sur 'a' et assigné à p.

* p = 3; // 3 est affecté à a.


Réponse 2:

Dans le contexte de C (et C ++), ces opérateurs sont liés aux adresses.

Chaque variable (et fonction) a une adresse. C permet un type de variable appelé pointeur, qui est utilisé pour stocker de telles adresses. La déclaration est la suivante.

int * ptr; // Pointeur vers int
int a; // Normal int

Il existe un pointeur différent pour chaque type, comme char *, float *, double * etc. La * est utilisée lors de la déclaration pour déclarer le type comme pointeur vers le type correspondant, comme char, float, double, etc.

Maintenant, pour obtenir réellement l'adresse d'une variable, vous préfixez l'opérateur &. Ainsi

ptr = & a;

Cela renvoie l'adresse de a et l'affecte à ptr.

Avoir simplement l'adresse n'est pas très utile. Vous souhaiterez peut-être accéder aux valeurs à cette adresse. L'opérateur * est également utilisé pour cela. Le préfixe * d'un pointeur renvoie la valeur, comme ceci

int b = * ptr;

Maintenant, b contient la valeur actuelle dans l'adresse stockée dans ptr. Comme ptr a l'adresse de a, b contient la valeur actuelle de a. Si la valeur de a change après cette instruction, la valeur de b ne change pas. De même, la modification de la valeur de b ne change pas celle de a.


Réponse 3:

Merci pour A2A.

& Opérateur: - Il s'agit d'un opérateur unaire appelé opérateur de référence. Lorsqu'il est utilisé avec un opérande, il renvoie l'adresse de cet opérande. Vous pouvez ensuite utiliser ce résultat pour manipuler des données.

* Opérateur: - Cet opérateur unaire est appelé opérateur de déréférence. Lorsqu'il est utilisé avec un opérande (un pointeur), il renvoie la valeur à l'emplacement de mémoire stockée dans cet opérande.

Remarque - Ces définitions sont valables pour C et C ++.

J'espère que cela t'aides.

Bon codage!


Réponse 4:

Merci pour A2A.

& Opérateur: - Il s'agit d'un opérateur unaire appelé opérateur de référence. Lorsqu'il est utilisé avec un opérande, il renvoie l'adresse de cet opérande. Vous pouvez ensuite utiliser ce résultat pour manipuler des données.

& Example: a = 1010 and b = 1001 in binary (base 2). Then c = a & b results in the bit pattern 1000 because only the top bit in both a and b are set.

Remarque - Ces définitions sont valables pour C et C ++.

J'espère que cela t'aides.

Bon codage!


Réponse 5:

Merci pour A2A.

& Opérateur: - Il s'agit d'un opérateur unaire appelé opérateur de référence. Lorsqu'il est utilisé avec un opérande, il renvoie l'adresse de cet opérande. Vous pouvez ensuite utiliser ce résultat pour manipuler des données.

* Opérateur: - Cet opérateur unaire est appelé opérateur de déréférence. Lorsqu'il est utilisé avec un opérande (un pointeur), il renvoie la valeur à l'emplacement de mémoire stockée dans cet opérande.

Remarque - Ces définitions sont valables pour C et C ++.

J'espère que cela t'aides.

Bon codage!