C Pointeur Sur Fonction

Envoyez un pointeur à une fonction Comment ça marche? Il y a en fait plusieurs façons de faire. Envoyez un pointeur dans la fonction triplePointeur Voici un premier exemple: void triplePointeur(int *pointeurSurNombre); int main(int argc, char *argv[]) { int nombre = 5; triplePointeur(&nombre); // On envoie l'adresse de nombre à la fonction printf("%d", nombre); // On affiche la variable nombre. La fonction a directement modifié la valeur de la variable car elle connaissait son adresse return 0;} void triplePointeur(int *pointeurSurNombre) *pointeurSurNombre *= 3; // On multiplie par 3 la valeur de nombre} 15 La fonction triplePointeur prend un paramètre de type int* (c'est-à-dire un pointeur sur int). Voici ce qu'il se passe dans l'ordre, en partant du début du main: Une variable nombre est créée dans le main. On lui affecte la valeur 5. Ça, vous connaissez. On appelle la fonction triplePointeur. C pointeur sur fonction publique hospitalière. On lui envoie en paramètre l'adresse de notre variable nombre. La fonction triplePointeur reçoit cette adresse dans pointeurSurNombre (à l'intérieur de la fonction triplePointeur, on a donc un pointeur pointeurSurNombre qui contient l'adresse de la variable nombre).

  1. C pointeur sur fonction publique d'état

C Pointeur Sur Fonction Publique D'état

Maintenant qu'on a un pointeur sur nombre, on peut modifier directement la variable nombre en mémoire avec *pointeurSurNombre pour désigner la variable nombre (pour l'exemple, on fait un simple test: on multiplie la variable nombre par 3). De retour dans la fonction main, notre nombre vaut maintenant 15 car la fonction triplePointeur a modifié directement la valeur de nombre. Bien sûr, j'aurais pu faire un simple return comme on a appris à le faire dans le chapitre sur les fonctions. Mais l'intérêt, là, c'est que de cette manière, en utilisant des pointeurs, on peut modifier la valeur de plusieurs variables en mémoire (on peut donc « renvoyer plusieurs valeurs »). Nous ne sommes plus limités à une seule valeur! Quel est l'intérêt maintenant d'utiliser un return dans une fonction, si on peut se servir des pointeurs pour modifier des valeurs? C pointeur sur fonction publique. Ça dépendra de vous et de votre programme. C'est à vous de décider. Il faut savoir que les return sont toujours utilisés en C. Le plus souvent, on s'en sert pour renvoyer ce qu'on appelle un code d'erreur: la fonction renvoie: "0 success"; "1 (ou any non-0) failure", s'il y a eu une erreur pendant le déroulement de la fonction.

En stockant des pointeurs dans les cases d'un tableau, il sera possible de stocker des éléments de taille diverse, et même de rajouter des éléments au tableau en cours d'utilisation (la notion de tableau dynamique) ce qui n'est pas possible pour les tableaux statiques. Il est possible de créer des structures chaînées.