Code Null
Publié le
2022-08-17

Mis à jour le
2023-03-13

Fonction, main et appel de fonction.

Fonction

Vous allez apprendre à écrire votre propre fonction dans cette partie du cours.

Qu'est-ce qu'une fonction?
Une fonction est pour contenir des instructions qui vont être exécutées au besoin.
Cela vous évitera de faire un copier/coller des lignes de commande qui reviennent à répétition.

Pour cet exemple, on va utiliser un nouveau type "void" qui ne contient aucune donnée. Ce type crée une fonction de base qui va exécuter ce qu'elle contient.
void MaFonction()
{ }
Quand vous définissez une fonction, assurez-vous que sa tâche soit correctement décrite dans l'identifiant. Cette méthode vous évitera de relire son contenu pour savoir quel est son usage.
/*
Je définis une fonction qui ouvre un fichier. Je lui assigne un
identifiant qui décrit la tâche qu'elle va accomplir.
*/
void OuvrirFichier()
{ }
Après avoir décrit sa tâche, ajouter lui des parenthèses. Plus tard dans ce cours, on va s'arrêter pour comprendre les tâches qu'elles peuvent accomplir.
void OuvrirFichier()
{ }
Pour terminer cette fonction, on lui ajoute des accolades (son corps). Entre celles-ci, vous allez pouvoir lui insérer des instructions.
void OuvrirFichier()
{

/*Instructions contenues dans la fonction.*/
}
Si vous désirez avoir une fonction qui retourne une valeur, vous devrez remplacer son type.
La valeur de retour va être différente selon le type, elle pourra être utilisée pour réaliser une tâche.
int Fonction()
{
return 0;
}
Une fois son type défini, il est important qu'une valeur lui soit envoyée. Pour réaliser cette tâche, on utilise l'instruction "return" qui va retourner la valeur au type de la fonction. Quand cette valeur sera envoyée, la fonction sera quittée immédiatement.
int Fonction()
{
return 0;
}
Pour la suite, on va définir la fonction qui sera le point de départ de votre programme.

La main

Vous allez comprendre dans ce paragraphe  la notion de fonction principale.
int main()
{
return 0;
}
Qu'est-ce que la fonction principale?
Cette fonction est le point de départ de votre programme, c'est elle qui exécute les premières instructions. Si elle est absente des fichiers, le compilateur va refuser de générer le fichier exécutable.

Son identifiant "main" ne devra pas être modifié parce qu'il est recherché par le compilateur.
Qu'est-ce que le compilateur?
C'est un logiciel qui va convertir votre code-source en binaire pour que votre ordinateur puisse l'exécuter.

La "main" est composée d'un type qui va contenir une valeur de retour "Zéro": cette valeur va informer le processeur que le programme s'est bien exécuté. Après, l'application sera interrompue.
int main()
{
return 0;
}
Dans le prochain paragraphe, vous allez faire l'exécution de votre première fonction.

Appel de fonction

Une fois la "main" défini dans votre programme, vous allez réaliser un appel de fonction.
int main() //La fonction principale.
{
return 0;
}
Qu'est-ce que c'est?
Un appel de fonction permet d'exécuter le contenu d'une autre fonction.

Pour faire son exécution, on se place entre les accolades (Local), on écrit l'identifiant de la fonction, les parenthèses et un point-virgule.
Ce principe s'applique aussi aux fonctions qui retournent une valeur, comme dans cet exemple:
void OuvrirFichier() //Fonction de base.
{ }

int CalculTaxes() //Fonction qui retourne une valeur.
{
return 50;
}

int main()
{
OuvrirFichier(); //Appel de fonction.
CalculTaxes(); //Appel de fonction.
 return 0;
}
Une fonction doit toujours être définie (Global) avant de faire son exécution ou son appel.
void OuvrirFichier() //Global
{ }

int main()
{
OuvrirFichier();
return 0;
}
Un appel de fonction est une instruction qui est toujours défini en local.
void OuvrirFichier()
{ }

int main()
{
OuvrirFichier(); //Appel de fonction.
return 0;
}
Qu'est-ce que ça veut dire le terme local ?
C'est du contenu qui est à l'intéreur des accolades, il ne sera pas accessible de l'extérieur.
int main()
{
//Local: Contenu réservé à cette fonction.
return 0;
}
Pour ce qui est du terme globale: c'est du contenu qui est accessible dans les autres fonctions ou autres structures.
//Global: Contenu accessible dans toutes les autres déclarations ou définitions.

int main()
{
return 0;
}
Notre partie sur les appels de fonction est terminée, regardons les autres usages qu'un type peut avoir.