Utilisation de cas d'identificateur de classe de stockage Auto? Je comprends que toutes les variables locales sont automatiques par défaut. Mais quelle est la différence en écrivant explicitement auto int A? p>
4 Réponses :
Il n'y a strictement aucune différence.
{
int a;
/* ... */
}
Je pourrais trouver ceci tous les endroits où alors cela signifie qu'il n'y a pas de signification particulière du mot-clé auto.
@vkesh qui est correct pour C. " auto code>" signifie "non statique code>", qui correspond à la valeur par défaut. Il avait plus d'influence dans son prédécesseur B. EN.Wikipedia.org/wiki/b_(Programming_language)
Sont-ils équivalents ou exactement les mêmes?
Il y a deux cas possibles: P>
auto code> est la valeur par défaut et ajoute explicitement que le mot-clé n'offre rien LI>
-
auto code> n'est pas autorisé (par exemple, sur une variable globale) Auquel cas Ajout Auto CODE> Empêche le code de compiler LI>
ol> Voulez-vous dire par le deuxième cas possible que si nous ajoutons Auto à la variable globale empêche la variable globale définie ?? Si oui, quelle que soit l'usecase si vous savez quelque chose?
@vkesh: Je dis si vous essayez de spécifier auto code> pour une variable globale, le code ne compilera pas (avec un compilateur fonctionnant correctement). En ce qui concerne "quel est le cas d'utilisation", mon point est qu'il n'y en a pas.
Dans la journée moderne C (C89, C99, C11), le mot-clé code> code> est redondant. Autre que faire de l'intention explicite ("Il s'agit d'une variable non statique, et je veux dire ça!"), Il ne sert plus de but. Il s'agit d'un reste de l'histoire de C, reporté de B, mais beaucoup comme le mot clé code> code> est devenu pratiquement obsolète.
Je l'ai utilisé une fois dans ma vie. C'était dans une entrée de la COCCC conjointement avec Implicit Int: P>
drive () { auto motive; ... }
Il y a peu de différence de bits entre une variable locale et une variable automatique.
Nous pouvons faire une variable locale
int A = 20; code> à n'importe quelle variable de classe de stockage commeauto int A = 20; code> oustatique int A = 20; code> mais une fois quand nous spécifions toute variable à auto commeauto int A = 20; code> alors il ne deviendra jamais autre classe de stockage commestatique code> ouenregistrez code> etc. Nous ne pouvons pas écrire CommeStatique Auto int A A = 20; Code> .autres choses sont exactement identiques comme la mémoire de la mémoire dans le segment de pile. Vous trouverez ci-dessous l'exemple de la variable automatique qui génère la même sortie. P> blockquote>pour une variable automatique. p>
xxx pré> pour une variable locale. p>
xxx pré> p>
Dupliqué possible de Où est le mot-clé auto utilisé?