Как инициализировать const в структуре в C (с помощью 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;
}

И это ошибка компилятора:

gereksiz.c:3:17: error: expected ':', ',', ';', '}' or '__attribute__' before '=' token

И еще это;

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;
}

И это ошибка компилятора:

gereksiz.c:10:5: error: assignment of read-only member 'a'
gereksiz.c:11:5: error: assignment of read-only member 'b'

И ни один из них не скомпилировался.Есть ли способ инициализировать константную переменную внутри структуры при выделении памяти с помощью malloc?

21
задан yasar 13 March 2012 в 20:24
поделиться