problème pr les tableaux les fonctions et les pointeurs en language c
Dernière réponse : dans Programmation
Salut à tous je suis en première année en GEII et je ne comprend rien aux fonctions (par exemple quand sait on que l'on a une valeur a retourner) aux tableux et aux pointeurs pouvez-vous m'aider.
Autres pages sur : probleme tableaux fonctions pointeurs language
Lassé par la pub ? Créez un compte
Normalement on sait ce que retourne une fonction avant d'appuyer sur une touche du clavier. ;-)
Si la fonction produit quelque chose qui peut être réutilisable, et bien tu mets un retour de fonction.
Après si tu n'as pas de question plus précise (ou d'exemple que tu ne comprendrais pas), je vois pas comment on peut t'aider ;-)
Si la fonction produit quelque chose qui peut être réutilisable, et bien tu mets un retour de fonction.
Après si tu n'as pas de question plus précise (ou d'exemple que tu ne comprendrais pas), je vois pas comment on peut t'aider ;-)
Oui soit plus précis !
Quel langage utilise tu ? ( Je pense que c'est du C vu que c'est très bien pour commencer et que tu parles de pointeurs)
Ensuite une fonction peux retourner une valeur par l'intermediaire du mot clé "return"
Autrement, si il y a plusieurs données à modifier, tu passes par des variables d'entré sortie que tu passes en paramètre de ta fonction par l'intermédiaire de pointeurs.
Donne nous un exemple ca serait bien mieux pour t'aider
Quel langage utilise tu ? ( Je pense que c'est du C vu que c'est très bien pour commencer et que tu parles de pointeurs)
Ensuite une fonction peux retourner une valeur par l'intermediaire du mot clé "return"
Autrement, si il y a plusieurs données à modifier, tu passes par des variables d'entré sortie que tu passes en paramètre de ta fonction par l'intermédiaire de pointeurs.
Donne nous un exemple ca serait bien mieux pour t'aider
Au niveau des fonctions qu'en on écrit le prototype au dessus de la fonction principale on doit commencer par void si elle ne renvoi rien ou par le type de la variable qu'elle renvoie si elle en renvoie une. Comment sait-on quoi mettre? Pour les tableaux par exemple si on veut faire la somme de deux tableaux (la case 1 avec la case 1) et l'afficher dans un autre tabeau que si le resultat est positif doit-on utiliser un autre compteur? et enfin pour les pointeurs si il s'appel p comment faut il l'initialisé comment connait_on la valeur qu'il pointe? On utilise le language C. Pouvez vous m'expliquer tout ça?
Pour le type de retour d'une fonction tu le choisis en fonction de ce que fait ta fonction.
Si tu te contente d'afficher du texte avec un printf ou autre fonction de ce genre la fonction renvoie un type VOID.
Si ta fonction calcule une valeur et que tu veux recuperer le resultat du calcul tu dois renvoyer le type de la valeur calculée.
Un exemple simple si tu veux recuperer le résultat d'une addition de 2 entiers tu renvoies le type int.
int add(int a, int b){
return a+b;
}
comme ca tu peux recuperer le résultat comme ceci
int c;
c=add(1,2);
En gros si tu as besoin de recuperer le résultat d'une fonction il faut que cette fonction RETOURNE son calcul d'où le prototype.
J'espère que t'as compris.
Moi perso j'ai rien compris à ta question sur les tableaux.
Arno
Si tu te contente d'afficher du texte avec un printf ou autre fonction de ce genre la fonction renvoie un type VOID.
Si ta fonction calcule une valeur et que tu veux recuperer le resultat du calcul tu dois renvoyer le type de la valeur calculée.
Un exemple simple si tu veux recuperer le résultat d'une addition de 2 entiers tu renvoies le type int.
int add(int a, int b){
return a+b;
}
comme ca tu peux recuperer le résultat comme ceci
int c;
c=add(1,2);
En gros si tu as besoin de recuperer le résultat d'une fonction il faut que cette fonction RETOURNE son calcul d'où le prototype.
J'espère que t'as compris.
Moi perso j'ai rien compris à ta question sur les tableaux.
Arno
Pour les tableaux, si j'ai compris, tu prend un seul competeur (par exemple i)
et tu lis ou écris les tableaux en utilisant tableau
Pour les pointeurs:
type * pointeur;
"pointeur" est en fait comme un entier qui est contient une adresse: la mémoire étant une simple suite d'octets chacun numéroté par une adresse.
Utiliser "pointeur", c'est manipuler une adresse et pas la valeur.
Utiliser "*pointeur", c'est manipuler la valeur situé en mémoire à l'adresse "pointeur"
Dans la mémoire de cette adresse il peut y avoir tout et n'importe quoi: un entier, un caractère un début de tableau, et même une adresse (donc un pointeur).
Pour manipuler la mémoire (contenu d'adresses), il faut que celle-ci ait été préalablement réservée pour le programme, sinon on pourrait écrire dans la mémoire de autres programmes.
Donc, toutes les adresses à manipuler doivent être comprises entre [ adresse de retour de la fonction malloc, et adresse de retour de la fonction malloc + taille alloué en paramètre de malloc ].
et tu lis ou écris les tableaux en utilisant tableau
Pour les pointeurs:
type * pointeur;
"pointeur" est en fait comme un entier qui est contient une adresse: la mémoire étant une simple suite d'octets chacun numéroté par une adresse.
Utiliser "pointeur", c'est manipuler une adresse et pas la valeur.
Utiliser "*pointeur", c'est manipuler la valeur situé en mémoire à l'adresse "pointeur"
Dans la mémoire de cette adresse il peut y avoir tout et n'importe quoi: un entier, un caractère un début de tableau, et même une adresse (donc un pointeur).
Pour manipuler la mémoire (contenu d'adresses), il faut que celle-ci ait été préalablement réservée pour le programme, sinon on pourrait écrire dans la mémoire de autres programmes.
Donc, toutes les adresses à manipuler doivent être comprises entre [ adresse de retour de la fonction malloc, et adresse de retour de la fonction malloc + taille alloué en paramètre de malloc ].
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :