¿Qué pasaría si no hubiera variables locales en C? ¿No sería suficiente usar todas las variables globales siempre que tengan nombres diferentes?
Desperdicio de recursos: las variables globales solo se pueden destruir después de ejecutar el programa; cuantas más variables se solicitan, más memoria ocupa y menos memoria disponible y el código de las variables locales dentro de su alcance; se destruirá después de la ejecución, por lo que la memoria se puede reutilizar;
Seguridad: en proyectos grandes y medianos, hay muchas personas involucradas en el proyecto y es muy fácil cambiar el nombre de las variables.
Seguridad: en el desarrollo de proyectos grandes y medianos, hay varios desarrolladores y es fácil cambiar el nombre de las variables, incluso para un solo desarrollador, es difícil evitar cambiar el nombre de las variables;
p>Eficiencia de acceso: las variables locales se almacenan en la pila y las variables globales se almacenan en el montón. Al ejecutar una función, la memoria de la pila de la función debe estar en el caché de la CPU, y las variables globales básicamente no. allá. El acceso a variables globales puede hacer que la CPU recargue el caché, lo que reduce la eficiencia.
Además, en la programación multiproceso, el acceso a las variables globales es propenso a conflictos, etc...
En resumen, en la práctica, intentamos no utilizar variables globales.