Maison  >  Article  >  développement back-end  >  Quelle est la seule fonction en langage C ?

Quelle est la seule fonction en langage C ?

烟雨青岚
烟雨青岚original
2020-07-06 17:16:214078parcourir

La seule fonction en langage C est : la fonction "principale". La fonction « principale », également appelée fonction principale, est le point de départ de l'exécution du programme ; s'il existe d'autres fonctions, elle terminera les appels aux autres fonctions puis reviendra à la fonction principale. termine tout le programme.

Quelle est la seule fonction en langage C ?

La seule fonction en langage C est : fonction principale

fonction principale, également appelée fonction principale function La fonction est le point de départ de l'exécution du programme

L'exécution du programme commence toujours à partir de la fonction principale, s'il existe d'autres fonctions, elle reviendra à la fonction principale après avoir terminé les appels aux autres fonctions, et enfin. se termine par la fonction principale de l'ensemble du programme. Lors de l'exécution du programme, la fonction principale est appelée par le système.

La fonction principale est appelée après avoir terminé l'initialisation des objets non locaux avec une durée de stockage statique lors du démarrage du programme. Il s'agit du point d'entrée désigné pour un programme dans un environnement hébergé (c'est-à-dire un système d'exploitation). Les points d'entrée pour les programmes autonomes (chargeurs de démarrage, noyaux du système d'exploitation, etc.) sont définis par l'implémentation.

Le paramètre formel sous la forme à deux paramètres de la fonction principale, permettant de transmettre depuis l'environnement d'exécution des chaînes multi-octets arbitraires (elles sont souvent appelées arguments de ligne de commande), les pointeurs respectifs argv[1] .argv[argc-1] pointe vers le premier caractère de chacune de ces chaînes. argv[0] est un pointeur vers les premiers caractères d'une chaîne multi-octets terminée par un caractère nul (ou la chaîne vide "" lorsque l'environnement d'exécution ne la prend pas en charge) représentant le nom du programme lui-même utilisé pour l'exécuter.

Ces chaînes peuvent être modifiées, bien que leurs modifications ne soient pas propagées à l'environnement d'exécution : par exemple, elles peuvent être utilisées avec std::strtok. La taille du tableau pointé par argv est d'au moins argc+1, et son dernier élément argv[argc] est garanti comme étant un pointeur nul.

Dans la dernière norme C99, seules les deux définitions suivantes sont correctes :

int main( void )  /* 无参数形式 */
{
    ...
    return 0;
}
rrree

int spécifie le type de retour de la fonction main() et les parenthèses après le nom de la fonction. Généralement contient des informations transmises à la fonction. void signifie qu'aucun paramètre n'est transmis à la fonction. Nous discuterons du formulaire paramétré plus tard.

En parcourant l'ancienne version du code C, vous constaterez que le programme commence souvent par .

int main( int argc, char *argv[] ) /* 带参数形式 */
{
    ...
    return 0;
}

Ce formulaire commence. La norme C90 autorise cette forme, mais pas la norme C99. Donc, même si votre compilateur actuel le permet, ne l'écrivez pas de cette façon.

Il existe un autre formulaire que vous avez peut-être vu.

main()

Certains compilateurs autorisent cette forme, mais aucun standard n'a encore envisagé de l'accepter. Bjarne Stroustrup, le père du C++, l'a clairement indiqué dans la FAQ sur sa page d'accueil : La définition de void main() n'a jamais existé en C++ ou en C. Par conséquent, le compilateur n’est pas obligé d’accepter cette forme et de nombreux compilateurs ne permettent pas qu’elle soit écrite de cette façon.

L'intérêt de s'en tenir aux standards est que lorsque vous déplacez votre programme d'un compilateur à un autre, il fonctionnera toujours normalement.

Tutoriel recommandé : "Langage C"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn