manú
Que hace const struct
¿significar? ¿Es diferente de struct
?
grahams
los const
parte realmente se aplica a la variable, no a la estructura en sí.
por ejemplo, @Andreas dice correctamente:
const struct {
int x;
int y;
} foo = {10, 20};
foo.x = 5; //Error
Pero lo importante es esa variable foo
es constante, no el struct
definición en sí. Podrías escribirlo igualmente como:
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
Andreas Brick
significa 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
EDITAR: GrahamS señala correctamente que la constancia es una propiedad de la variable, en este caso foo
y no la definición de la estructura:
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
-
Salud. ¿Puedo obtener un +1 por mi observación? 😀
– GrahamS
24 de noviembre de 2010 a las 13:29
‘const’, como indica la palabra constante en sí misma, significa inmodificable. Esto se puede aplicar a variables de cualquier tipo de datos. Siendo struct un tipo de datos definido por el usuario, también se aplica a las variables de cualquier estructura. Una vez inicializado, el valor de las variables const no se puede modificar.
Const significa tú no puedo editar el campo de la estructura después de la declaración e inicialización y usted pueden recuperar los datos de la estructura
no puede modificar una estructura constante, la primera estructura es un tipo de datos simple, por lo que cuando aparece una palabra clave const, el compilador retendrá un espacio de memoria en un registro en lugar de almacenamiento temporal (como ram) e identificadores de variables que se almacenan en registro no se puede modificar
-
Esto es incorrecto. La estructura no se almacena en un registro.
– msitt
27 de abril de 2017 a las 14:12
-
Esto es incorrecto. La estructura no se almacena en un registro.
– msitt
27 de abril de 2017 a las 14:12