Maison  >  Article  >  développement back-end  >  La différence entre * et & en langage C

La différence entre * et & en langage C

下次还敢
下次还敢original
2024-04-27 22:51:15546parcourir

En langage C, (astérisque) est utilisé pour l'adressage indirect et la valeur, tandis que & (caractère d'adresse) est utilisé pour l'adresse et la référence. Récupère la valeur pointée par la variable ou le pointeur, utilisée pour modifier la valeur et déclarer la variable du pointeur ; & Récupère l'adresse de la variable, utilisée pour attribuer l'adresse à la variable du pointeur et transmettre l'adresse en tant que paramètre de fonction.

La différence entre * et & en langage C

La différence entre * et & en langage C

les symboles * et & sont des opérateurs différents en langage C, utilisés à des fins différentes :

Signification :

  • astérisque * : représente opérateur d’adressage indirect ou de valeur de pointeur.
  • Opérateur d'adresse & : représente l'opérateur d'adresse ou de référence.

Objectif :

Étoile* :

  • Récupère la valeur d'une variable ou d'une variable pointée par un pointeur.
  • Modifiez la valeur d'une variable ou d'une variable pointée par un pointeur.
  • Dans le cadre de la déclaration d'une variable pointeur.

caractère d'adresse & :

  • Obtenez l'adresse (emplacement mémoire) de la variable.
  • Attribuez l'adresse de la variable à la variable pointeur.
  • Passez l'adresse de la variable en paramètre de fonction.

Exemple :

int main() {
    int x = 10;
    int *ptr = &x;  // ptr指向x的地址

    // 获取x的值
    printf("x = %d\n", x);

    // 使用指针获取x的值
    printf("*ptr = %d\n", *ptr);

    // 使用指针修改x的值
    *ptr = 20;
    printf("x = %d\n", x);  // x的值已经改变为20

    return 0;
}

Remarque :

  • *ptr représente la valeur de la variable pointée par la variable pointeur ptr, tandis que &x représente l'adresse de la variable x.
  • Normalement, une variable pointeur est une variable de type "variable type*", pointant vers une variable d'un type spécifique.
  • Les opérateurs de prise d'adresse et d'adressage indirect peuvent être utilisés en combinaison pour implémenter l'arithmétique de pointeur et d'autres structures de données avancées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn