Bonjour et bienvenue.
Dans cette conférence, je veux parler sur les arguments et les paramètres.
Ces termes ont tendance à être utilisé de manière interchangeable.
Ce qu'ils ont à faire avec sont essentiellement des données que vous
passez à une fonction.
Donc un paramètre est une variable et une déclaration de fonction et
une implémentation de définition de fonction.
Rappelez-vous, cette différence entre déclaration de fonction, prototype
de fonction et définition de fonction.
La déclaration de fonction est juste la signature de la méthode,
c'est l'en-tête de la fonction.
La définition de la fonction est
l'implémentation de la fonction, le code réel.
Dans les deux cas, les termes définition de la
déclaration, comprenez ces différences.
Mais le paramètre est ce qu'il y a la déclaration et la définition de
la fonction, c'est dans cet en-tête.
Parce que l'en-tête est inclus dans la définition de la déclaration.
Lorsqu'une fonction est appelée, le les arguments sont les données que vous transmettez aux
paramètres de la fonction.
Telles sont la valeur réelle d'une variable qui est
passée à la fonction.
Donc, les paramètres de fonction définis dans l'en-tête de la fonction
et leurs espaces réservés pour le arguments qui doivent être spécifiés lorsque
la fonction est appelée.
Alors comprenez la différence ici entre arguments et paramètres.
Les paramètres ont à voir avec le définition et déclaration de fonction.
Les arguments sont là où vous appeler la fonction,
lorsque vous appelez la fonction, le les données que vous transmettez.
Les arguments sont donc utilisés lorsque vous invoquez.
Tu diras que ce sont les arguments qui vont à ma fonction.
Et quand la fonction reçoit ces données, on les
appelle ce sont les paramètres.
Les paramètres d'une fonction sont une liste de noms de paramètres avec leurs
types de données.
Chaque paramètre est séparés par une virgule.
La liste complète des paramètres est entre parenthèses après le nom de
la fonction.
Une fonction ne peut avoir paramètres, ce qui signifie
qu'aucune donnée ne lui est transmise.
Et dans ce cas, vous avez juste le parenthèses gauche et droite avec un
vide entre elles ou vide, vous peut toujours l'avoir comme rien vide entre eux, mais c'est
une bonne pratique pour mettre un vide entre eux.
Void est un mot-clé spécial cela ne veut rien dire, signifie aucun paramètre ou
aucune donnée de retour.
Les paramètres fournissent les moyens pour transmettre des données à une fonction.
Données transmises par la fonction appelante à la fonction qui est appelée, l'invocation
e à l'extrémité de réception, le fin d'appel et fin de réception.
Les noms des paramètres sont locaux à la fonction.
On va en parler quand on parle de données locales.
Mais ces noms de paramètres uniquement existent à l'intérieur du corps de la fonction.
Ils assumeront les valeurs du arguments qui lui sont transmis.
Donc, si vous avez une fonction appelée ajouter, vous passez une
variable en argument, vous passez la valeur 5 et vous avez une fonction avec un
paramètre x, x va être égal à 5 n'importe où dans le corps de la fonction.
Le corps de la fonction devrait utiliser ces paramètres
dans sa mise en œuvre.
Si ce n'est pas le cas, alors ils n'aurait pas dû être adopté.
Si vous avez une variable de paramètre défini dans votre
définition de déclaration de fonction et vous ne l'utilisez jamais variable à l'intérieur de la fonction, c'est du gaspillage,
ne l'incluez pas car c'est juste dire que vous n'en avez pas besoin.
N'envoyez pas de données à un fonction qui ne l’utilise pas.
Un corps de fonction peut avoir des variables définies localement qui sont
nécessaires à l'implémentation de la fonction.
Vous pouvez avoir à l'intérieur de la fonction body d'autres variables déclarées parce qu'elles
sont nécessaires pour quelle que soit la tâche que vous accomplissez.
Vous n'opérez pas seulement sur les données qui lui sont transmises.
Vous pouvez opérer sur données à l'intérieur de la fonction.
Lors du passage d'un tableau en tant que argument à une
fonction, vous devez également passer un argument supplémentaire, avoir un autre paramètre défini
spécifiant la taille du tableau.
La raison en est que le n'a aucun moyen de savoir combien d'éléments
sont dans le tableau.
Donc même si vous déclarez un tableau de taille 50, vous ne
stockez peut-être que 30 éléments.
Et si tu vas utiliser ça tableau à l'intérieur du corps de la
fonction, vous devrez probablement sachez quelle est sa taille car vous aurez besoin soit d'itérer
à travers en utilisant une boucle ou vous allez avoir
besoin d'accéder à des éléments.
Et si vos éléments d'accès l'itèrent, vous
devez savoir si quand vous êtes hors limites.
Et nous avons parlé de la sortie de limites là-bas et pourquoi c'est important.
Eh bien, voici un exemple.
Lorsque la fonction printf est appelé, vous fournissez toujours une
ou plusieurs valeurs comme arguments.
La première valeur est que chaîne entre guillemets.
Les valeurs restantes sont toutes variables à afficher.
C'est en fait une fonction qui prend un nombre variable d'arguments dont
nous n'allons probablement pas parler étant donné qu'il s'agit d'un cours pour débutants,
c'est plus un concept avancé.
Mais la fonction printf est un bon exemple
en ce qui concerne la transmission de données parce que plusieurs ensembles
de données, soit la chaîne à l'intérieur des guillemets, soit variables que vous souhaitez afficher.
C'est pourquoi il est si important de pouvoir transmettre des données à une fonction.
Cela améliore considérablement l'utilité et la flexibilité d'une fonction.
Si les fonctions n'avaient pas capacité à accepter des données, elles ne
seraient pas aussi utiles.
Dans l'exemple que j'ai fourni dans la dernière conférence
où nous avions une fonction qui affichait sortie, ça n'a pas vraiment fait grand-chose.
C'était très statique.
J'ai fait la même chose à chaque fois que vous l'avez invoqué.
Mais que faire si vous aviez une fonction qui a pris des données, vous pouvez
alors contrôler ce qui est affiché.
Donc, tout comme la fonction printf.
Si la fonction printf n'a pas avoir des paramètres, vous ne pourriez
pas lui dire quoi afficher.
Si vous n'avez pas accepté de données, vous ne serait pas en mesure de
dire, hé, d'afficher cette variable ou d'afficher cette chaîne.
Ce ne serait pas très utile.
Alors tu veux pouvoir passer données à une fonction rend, il
est beaucoup plus utile et flexible.
Et vous verrez cela.
Je veux dire si nous faisons la multiplication fonction, vous ne voudriez pas multiplier
la même deux chiffres à chaque fois.
Vous prendriez des paramètres et des données lui serait transmis pour deux numéros.
Vous pouvez donc faire différents calculs en fonction des données qui lui sont transmises.
Très, très important à comprendre les données passant et pourquoi c'est utile.
C'est aussi une bonne idée d'ajouter des commentaires avant chacune de vos
propres définitions de fonction.
Cela aide à expliquer ce que le fonction va faire et comment
les arguments doivent être utilisés.
Vous verrez généralement cela.
Vous verrez cela dans mes exemples.
Vous avez la déclaration de fonction en haut du fichier, vous avez
la définition de la fonction.
La définition de fonction comprend l'en-tête de la fonction.
Juste au-dessus de la fonction en-tête, vous avez des
commentaires, généralement des commentaires sur plusieurs lignes.
Vous avez donc la barre oblique, l'astérisque.
Et là vous dites le nom du fonction, le but de la fonction et
ensuite décrire également les données qui est passé à la fonction.
Ceci, encore une fois, est pour la maintenance et être en mesure de trouver et de
corriger les erreurs beaucoup plus rapidement.
Habituellement, vous voulez avoir un bon nom pour la fonction qui
vous dira quelque chose.
Mais avec des commentaires supplémentaires, il vous en dira encore plus.
Voici un exemple qui est une fonction qui multiplie deux nombres, cela obtient que les
données lui sont transmises.
Nous avons nos multiplier deux nombres.
Nous savons que c'est une fonction parce que il a essentiellement les paramètres.
Il a les parenthèses.
C'est une façon dont vous pouvez identifier fonctionne lorsque vous voyez des parenthèses.
Je veux dire que nous pourrions aussi identifier car il a un type de retour.
Il y a plusieurs choses qui dites-nous que c'est une fonction.
Mais l'essentiel, ce sont les parenthèses et puis aussi vous voyez les crochets,
les accolades qui signifient le début et fin du bloc.
Cela multiplie deux les nombres fonctionnent cependant.
N'oubliez pas que les paramètres de la fonction sont définis entre les parenthèses, puis séparés
par des virgules.
Ici, nous avons deux paramètres.
Nous avons un paramètre nommé x et un paramètre nommé y.
Pour chaque paramètre, vous doivent identifier le type
de données qui arrive.
Nous avons donc ici deux entiers.
C'est la manière standard de transmettre des données et comment le faire.
Entre les parenthèses, les données tapez ensuite un nom pour la variable.
Le nom de la variable car tout ce qui est valide en c
pour le nom d'une variable, vous pouvez appelez ça x y z comme vous voulez.
Tu ne peux tout simplement pas le démarrer avec un symbole de signe dollar.
Et puis vous les séparez par des virgules, s'habituer à
cette convention, paramètres entre parenthèses.
Si vous n'aviez aucun paramètre, aucune donnée qui est passé à
la fonction, ce que vous verriez entre ces la parenthèse est vide ou vous ne
verriez rien entre les parenthèses.
Cette fonction tout ce qu'elle va faire va-t-il prendre les données
qui lui sont transmises qui sont deux variables maintenant nommé x et y, et il va les multiplier ensemble et
les stocker dans une variable nommée result ou dans ce cas, il semble
que je l'ai mal orthographié t.
Et puis ce que ça fait est-ce qu'il imprime des données.
Il imprime les données c'est multiplié.
Mais encore une fois, voyez la flexibilité et l'utilité de la fonction
car elle prend des données.
Il peut afficher différents données basées sur ce que vous lui transmettez.
Lorsque nous invoquons la fonction dans le routine principale ici, on dit multiplier
deux nombres et on passe les arguments.
On passe la valeur 10 et 20.
On pourrait passer en variable noms ici aussi.
Mais dans cet exemple, nous sommes juste en disant 10 et 20.
Cela va appeler la fonction multipliez deux nombres
et il passera dans les données 10 pour le premier paramètre 20 pour le second.
Donc x va être égal à 10, y va être égal à 20.
Alors quand on fait notre multiplication x fois y, ça va être 10 fois
20, le résultat va stocker 200,
puis il affichera ce résultat avec les variables qui sont passés à x y et z.
Alors ça va s'afficher 10 20 puis 200.
Notez également que nous pouvons réutilisez maintenant cette fonction.
Nous l'appelons à nouveau avec différents data, valeurs de données 20 et 30 dans notre deuxième
ligne ici dans la fonction principale.
Et puis nous l'appelons à nouveau un la troisième fois pour multiplier 50 par 2.
Très utile pour pouvoir faire ceci pour créer
une fonction qui prend différentes données le rend réutilisable, le rend flexible.
Et la syntaxe est très simple à suivre.
C'est juste deux variables à l'intérieur de les parenthèses séparées par des virgules.
Et puis appeler c'est même plus facile, il vous suffit d'espacer
un nom et vous avez les deux données.
Quelles que soient les données séparées par parenthèses latérales communes, puis
se terminant par un point-virgule.
Vous pouvez passer n'importe quel type de type de données dans une fonction.
Vous pouvez passer un tableau.
Nous allons également parler de la façon dont vous pouvez transmettre d'autres types de données.
Nous avons ici des exemples simples, mais vous pouvez également passer des pointeurs, dont nous n'avons
pas encore parlé.
Vous pouvez passer dans des structures.
Encore une fois, un autre concept nous n'en avons pas parlé.
Mais ça devient vraiment, vraiment significatif et utile lorsque vous transmettez des
données ici.
Ceci est un exemple simple.
Remarquez la syntaxe, étudiez ceci et vous fournira un bon défi
où vous écrivez un nombre de fonctions différentes.
Merci.