Fonctions en C : Modifications des paramètres
Passer des paramètres dans des fonctions peut soulever des questions sur leur comportement une fois à l'intérieur. Les paramètres peuvent prendre différentes formes selon le langage de programmation, et en C , il existe deux options principales.
Lorsque vous déclarez une fonction comme suit :
void trans(double x, double y, double theta, double m, double n)
les paramètres x, y, thêta, m et n sont transmis par valeur (c'est-à-dire que leurs copies sont créées à l'intérieur de la fonction). Toute modification apportée à ces paramètres dans la fonction n'affectera pas les valeurs d'origine de l'appelant.
Pour modifier les valeurs réelles de l'appelant, vous pouvez utiliser des références à la place. En utilisant une référence, le paramètre devient un alias pour la variable dans la fonction appelante.
void trans(double x, double y, double theta, double& m, double& n) { // Modifications to m and n will affect the caller's variables }
Lors de l'appel de la fonction trans à l'aide de références :
trans(center_x, center_y, angle, xc, yc);
les valeurs de xc et yc dans la fonction appelante sera mis à jour avec les modifications apportées dans trans.
En C, une approche légèrement différente est requise. Au lieu de références, vous devrez transmettre des pointeurs ou des adresses explicites aux variables qui doivent être modifiées. Voici un exemple :
void trans(double x, double y, double theta, double* m, double* n) { // Modifications via pointer indirection (e.g., *m) will update the caller's variables } // In main: trans(center_x, center_y, angle, &xc, &yc);
L'opérateur & vous permet de transmettre l'adresse de la variable, permettant à la fonction d'accéder et de modifier la valeur réelle.
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!