Я не понимаю, почему мой код возвращает значение оператора 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
Я получил ответ самостоятельно.Это была проблема интеллигенции.Спасибо всем вам, ребята.