[Résolu] Les fonctions. En savoir plus.

Bonjour, Je suis à l'origine du sujet [Résolu] : Déclaration initialisation d'une fonction - portée des variables http://forum.arduino.cc/index.php?topic=256753.msg1815546#msg1815546 ça fonctionne, mais je n'arrive pas à bien comprendre :

//appel de la fonction : 
reponse_client(&client);   
// la fonction :
void reponse_client(EthernetClient *MonClient) {
    MonClient->println("HTTP/1.1 200 OK");
    MonClient->println("Content-Type: text/html");
}

Pourquoi & devant client à l'appel de la fonction ? Pourquoi * devant MonClient ? Pourquoi -> et non un point dans MonClient->println ? J'ai étudié plusieurs tutos sur les fonctions mais à chaque fois, ce sont des principes,des exemples simples. Quelqu'un pourrait-il orienter mes recherches sur des explications plus claires.

Merci d'avance. Géryko

Bonjour

http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/a-l-assaut-des-pointeurs

MonClient->println

est une simplification d'écriture de

(*MonClient).println

[edit] griler par bricoleau!

alors tout ça c'est de la programation C++ orienter objet , en gros on utilise de variable complexe que l'on appelle des objet( je sait je simplifie)

Pourquoi & devant client à l'appel de la fonction ?----> esperlouette indique que l'on pase a la fonction (ou Methode en c++) un objet par reference de sont enplacement memoire sans recopier l'integralité de l'objet

Pourquoi * devant MonClient ?----> ici on declare un pointeur sur l'objet ethernetclient, c'est a dire que la fonction reçoit une variable dont la valeur est l'adresse memoire de la ou est stocké l'objet monclient

Pourquoi -> et non un point dans MonClient->println ?----> cest un racourci de programation quant la fonction reçoit un pointeur sur objet alors on ne travaille pas sur l'objet directement mais par le biais de sont adresse memoir

on pourrait traduire ça par " a l'adresse designé par mon pointeur il y a un objet ( du meme type que defini par le pointeur) au quel on veut faire realiser une action " ici se serai println.

si on avais utilisé l'objet directement on aurai mi le point

donc monObjet.faitça(); ---> c'est l'objet qui utilise monPointeurSurObjet->faitça();----> c'est le pointeur qui va chercher l'objet pour qu'il utilise la fonction.

bon jesper ne pas t'avoir dit trop d'annerie et que ça restera compréhensible! :grin: je sait qu'au debut c'est pas simple perso j'ai appris sur internet grace notament au ouvrage du site du zero et a ce forum donc ça reste possible :grin:

Rebonjour,

ça y est, vous m'avez bien renseigné. J'ai maintenant le pied dans l'étrier et je vais pouvoir continuer seul avec le cours : http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/vous-avez-dit-programmer (entrée du cours) notamment.

Merci à bricoleau et Heloderma-kris Géryko