Lo he intentado;Cómo inicializar const en una estructura en C (con malloc)
void *malloc(unsigned int);
struct deneme {
const int a = 15;
const int b = 16;
};
int main(int argc, const char *argv[])
{
struct deneme *mydeneme = malloc(sizeof(struct deneme));
return 0;
}
Y este es el error del compilador:
gereksiz.c:3:17: error: expected ':', ',', ';', '}' or '__attribute__' before '=' token
Y, también esto;
void *malloc(unsigned int);
struct deneme {
const int a;
const int b;
};
int main(int argc, const char *argv[])
{
struct deneme *mydeneme = malloc(sizeof(struct deneme));
mydeneme->a = 15;
mydeneme->b = 20;
return 0;
}
Y este es el error del compilador:
gereksiz.c:10:5: error: assignment of read-only member 'a'
gereksiz.c:11:5: error: assignment of read-only member 'b'
Y tampoco obtuve compilado. ¿Hay alguna manera de inicializar una variable const dentro de una estructura cuando se asigna la memoria con malloc?
@KerrekSB por supuesto. – yasar
@KerrekSB ver mis ediciones. – yasar
Tiene que descartar constness: '* (int *) (& mydeneme-> a) = 15;' –