• #pragma pack(push,1)
    struct some_structure {
    int some_field;
    char data[0];
    };
    #pragma pack(pop)

    Компилятор gcc 4.7.2, оптимизации отключены.
    К какой области памяти мы обратимся, когда выполним data[0]?
    a. к первому байту поля some_field
    b. к последнему байту поля some_field
    c. к первому байту после поля some_field
    d. такое объявление структуры не скомпилируется

Ответы 1

  • Верного ответа нету. Такой код скомпилируется, но при обращении выдаст ошибку. Но наиболее подходящий, это:d. Такое не скомпилируется, т.к. размер символьного массива нулевой.
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years