Maison >développement back-end >C++ >Les littéraux de chaîne C ont-ils une allocation de mémoire statique et une durée de vie ?
Comprendre les littéraux de chaîne en C : allocation et durée de vie
Un littéral de chaîne en C est une séquence de caractères entourée de guillemets doubles ("" ). Cela soulève la question : une chaîne littérale est-elle allouée dans la mémoire statique et persiste tout au long de l'exécution du programme ?
Allocation et durée de stockage
La réponse est oui. Les littéraux de chaîne sont créés dans la mémoire statique, ce qui signifie qu'ils sont alloués lors de l'initialisation du programme et restent accessibles jusqu'à la fin du programme. Cette caractéristique découle de la durée de stockage des littéraux de chaîne.
Explication standard
Selon la norme C (2.13.4/1), un littéral de chaîne ordinaire a un type de "tableau de n const char" et durée de stockage statique. La durée de stockage statique, telle que définie dans 3.7.1/1 de la norme, impose que le stockage de ces objets dure pendant toute la durée de vie du programme.
Par conséquent, les littéraux de chaîne bénéficient d'une durée de stockage statique, ce qui garantit leur disponibilité tout au long du programme. Ils restent intacts même lors de la destruction d'objets statiques ou d'autres opérations de gestion de mémoire.
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!