¿Qué significa const struct
? ¿Es diferente de struct
?¿Cómo se diferencia una 'estructura const' de una 'estructura'?
Respuesta
La parte const
se aplica realmente a la variable, no a la estructura en sí.
p. Ej. @Andreas correctamente dice:
const struct {
int x;
int y;
} foo = {10, 20};
foo.x = 5; //Error
Pero lo importante es que la variable foo
es constante, no la definición struct
sí. Es igualmente podría escribir que a medida:
struct apoint {
int x;
int y;
};
const struct apoint foo = {10, 20};
foo.x = 5; // Error
struct apoint bar = {10, 20};
bar.x = 5; // Okay
Significa que el struct
es constante, es decir, no puede editar sus campos después de que se haya inicializado.
const struct {
int x;
int y;
} foo = {10, 20};
foo.x = 5; //Error
EDIT: GRAHAMS señala correctamente que la constness es una propiedad de la variable, en este caso foo
, y no la definición struct:
struct Foo {
int x;
int y;
};
const struct Foo foo = {10, 20};
foo.x = 5; //Error
struct Foo baz = {10, 20};
baz.x = 5; //Ok
creo que una estructura const no puede ser modificado. En otras palabras, todos los campos de una estructura que se declara const no son modificables.
¿Qué significa "creo"? No conteste si no está calificado. Deja las suposiciones para comentarios, ¿no? – nbro
Const significa que no se puede editar el campo de la estructura después de la declaración y la inicialización y puede recuperar los datos forman la estructura
'const' como la constante de la palabra lo indica significa inmodificable. Esto se puede aplicar a la variable de cualquier tipo de datos. struct es un tipo de datos definido por el usuario, se aplica a las variables de cualquier estructura también. Una vez inicializado, el valor de las variables const no se puede modificar.
no se puede modificar una estructura constante, primera estructura es un tipo de dato simple por lo que cuando una palabra clave const se enciende, el compilador se celebró un espacio de memoria en un registro en vez que el almacenamiento temporal (como RAM), y los identificadores de variables que se almacenan en el registro no se pueden modificar
Esto es incorrecto. La estructura no está almacenada en un registro. – msitt
- 1. Estructura en una estructura
- 2. Cómo inicializar const en una estructura en C (con malloc)
- 3. C++ ¿cómo eliminar una estructura?
- 4. ¿Cómo clasifico una estructura como un puntero a una estructura?
- 5. Diferencia entre -> y. en una estructura?
- 6. ¿Cómo se usa offsetof() en una estructura?
- 7. C: Haciendo una copia profunda de una estructura ... haciendo una copia superficial de una estructura
- 8. ¿hay alguna diferencia entre una estructura en C++ y una estructura en C#?
- 9. Cómo "desenrollar" una estructura "recursivo"
- 10. ¿Cómo se compila una clase vacía y una estructura vacía?
- 11. Enlace a una estructura
- 12. ¿Cómo inicializar una variable const dentro de una estructura en C?
- 13. Memoria dinámica dentro de una estructura
- 14. ¿Cómo convierto una estructura big-endian en una pequeña estructura endian?
- 15. F # asíncrono - diferencia entre una estructura de dos
- 16. C estructura y C++ estructura
- 17. ¿Cómo serializar una estructura de gráfico?
- 18. ¿Cómo se marca una plantilla de estructura como amigo?
- 19. ¿Cómo se estructura un CMS?
- 20. Copiando una estructura a otra
- 21. Una función dentro de una estructura if
- 22. ¿Cuál es la diferencia entre declarar y definir una estructura?
- 23. ¿Cómo determinar si Type es una estructura?
- 24. Cómo usar una cadena C++ en una estructura cuando malloc() - ing la misma estructura?
- 25. cómo definir una estructura como en C
- 26. Cómo "descomprimir" una estructura en haskell
- 27. matriz de Javascript se convierte en una estructura de objeto
- 28. No se puede formar una estructura que contiene una unión
- 29. Lectura de una estructura dentro de una estructura mediante la función de desempaquetado de PHP
- 30. C Programación. ¿Cómo copiar profundamente una estructura?
Saludos. ¿Puedo obtener un +1 por mi observación? : D – GrahamS
Claro, aquí tienes;) –