sizeof (структура) показывает неправильный размер в окне просмотра vs2013 - PullRequest
0 голосов
/ 26 сентября 2019

Я не понимаю, почему мой код возвращает значение оператора sizeof.

#include <stdio.h>
#include <stdlib.h>

typedef struct{
        short x;
        short y;
}XY_T;

typedef struct{
        XY_T af[960];
        int top;
        int dummy1;
        int dymmy2;
        int dymmy3;
}STACK;

void func()
{
    int size = sizeof(STACK);
}

IDE: vs2013

ОС: Windows 7

CPU: Intel i7

Когда я запускаю свой код в режиме отладки без опции оптимизации, переменная size имеет значение 3856, но в окне просмотра отображается sizeof(STACK) со значением 3844.

Протестировано с gcc (версия 5.4.0 20160609, Ubuntu 5.4.0-6ubuntu1 ~ 16.04.11) и gdb (версия Ubuntu 7.11.1-0ubuntu1 ~ 16.5) и работает на Linux pc1623754 4.15.0-64-generic # 73 ~ 16.04.1-Ubuntu SMP пт. 13 сентября 09:56:18 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux

Я получил ответ самостоятельно.Это была проблема интеллигенции.Спасибо всем вам, ребята.

...