¿Por qué no podemos declarar una variable estática dentro de una estructura en el lenguaje de programación C?¿Por qué no podemos declarar una variable estática dentro de una estructura en el lenguaje de programación C?
Respuesta
En C++, una estructura es básicamente una clase con todos los miembros del público, por lo que una variable estática tiene sentido allí.
En C, una estructura es un bloque contiguo de memoria con campos. No se puede crear una variable estática sin cambiarla (para implementar una estática debe referirse a una sola ubicación de memoria desde todas las estructuras de ese tipo), y eso sería una gran diferencia en complejidad sin mucho beneficio.
Porque C no es C++.
Porque el estándar C no lo permite.
Debido a que no tiene ninguna interpretación significativa en C.
(zing) –
Porque en c no podemos acceder a la variable estática con el nombre de la estructura. En C++ podemos acceder a la variable miembro estática con nombre de clase, como a continuación.
NombredeClase :: staticVariableName
stucture 'C' no proporcionan tales instalaciones.
- 1. ¿Por qué declarar una variable o función estática en C?
- 2. ¿Por qué no podemos inicializar miembros dentro de una estructura?
- 3. ¿Por qué no puedes declarar una estructura estática en C#, pero pueden tener métodos estáticos?
- 4. ¿por qué no podemos declarar el objeto de una clase dentro de la misma clase?
- 5. ¿Por qué no podemos declarar alias de espacio de nombres dentro de una clase?
- 6. cómo inicializar una estructura estática en C++?
- 7. ¿Cuál es el uso de declarar una variable estática como extern dentro de una función?
- 8. Cómo declarar una variable estática en Javascript
- 9. PHP: ¿por qué no pude declarar la variable const estática?
- 10. ¿Por qué no hay una variable estática local en Java?
- 11. ¿De qué sirve declarar estructuras anónimas dentro de una estructura?
- 12. una variable estática en c
- 13. Cómo declarar una variable estática pero no definirla
- 14. ¿Por qué retener una variable estática?
- 15. Declarar una variable estática nivel de función dentro de un bloque if que nunca se golpeó
- 16. ¿Cómo declaro una variable estática dentro del método Main?
- 17. Reenviar declarar una estructura en Objective-C
- 18. ¿Por qué no se vincula externamente a una variable estática?
- 19. ¿Cómo declarar una variable dentro de una función de esquema?
- 20. inicializando una variable estática en el encabezado
- 21. ¿Por qué no es obligatorio declarar una variable en Javascript antes de usarla?
- 22. ¿Cómo declarar una variable global desde dentro de una clase?
- 23. Declarar un diccionario dentro de una clase estática
- 24. C# matriz dentro de una estructura
- 25. ¿Por qué no obtengo un error de compilación al declarar una matriz C con tamaño variable?
- 26. ¿Declarar una función dentro de una función?
- 27. Estructura estática en C++
- 28. Declarar una función estática y luego no estática: ¿es estándar?
- 29. ¿qué hay de malo en declarar una variable dentro de la condición de si?
- 30. Por qué tienen clase estática pública dentro de una clase
Porque el estándar ISO C dice que no se puede. Pero si dices por qué crees que lo necesitas, es posible ofrecer una solución alternativa para lo que sea. –
Incluso en C++ no existe una variable 'estática' dentro de una estructura. Estos son miembros 'static ', y es realmente una pena que C++ sobrecargue la palabra clave' static' para otra semántica completamente diferente. En particular, significa lo contrario de 'estático' en el alcance del archivo o función, es decir, un símbolo que es visible globalmente. Realmente no veo ningún uso de eso. Si hubieras preguntado por 'extern', este * podría * tener sentido en C, pero esta sería una historia diferente. –
@Jens: 'static' en el ámbito de la función significa que todas las invocaciones de la función comparten la misma instancia de una variable. Del mismo modo, 'static' en una clase significa que todas las instancias de la clase comparten la misma instancia del campo. Me parece que la reutilización de la palabra clave está perfectamente motivada. –