La transmission d'un argument de pointeur est-elle transmise par valeur en C ?
En C, passer un argument de pointeur est en effet une transmission par valeur. Cela signifie qu'une copie du contenu de la variable pointeur (l'adresse de l'objet pointé) est transmise à la fonction.
Toute modification apportée à la valeur du pointeur dans le corps de la fonction n'affectera pas le pointeur d'origine à l'extérieur. la fonction. Cependant, les modifications apportées à la valeur de l'objet pointé sont reflétées.
Utilisation du pointeur vers le pointeur comme argument de fonction
Pour modifier la valeur du pointeur elle-même dans une fonction, un pointeur vers un pointeur doit être utilisé comme argument. Cette technique est acceptable et constitue la procédure standard pour de tels scénarios. En utilisant l'opérateur & avant l'argument du pointeur, l'adresse du pointeur est transmise.
Références vs pointeurs
Bien que l'utilisation de pointeurs pour obtenir ce comportement soit une pratique courante , en C , l'utilisation de références est généralement préférée aux pointeurs pour plusieurs raisons :
Inconvénients des références
Dans le cas spécifique du pointeur vers des pointeurs, l'utilisation de références simplifie la mise en œuvre. Il peut même être possible d'éliminer complètement les niveaux de pointeur, en passant une seule référence à la place.
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!