Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 关于C+中Int数据类型的混淆+;_C++_Memory_Allocation - Fatal编程技术网

C++ 关于C+中Int数据类型的混淆+;

C++ 关于C+中Int数据类型的混淆+;,c++,memory,allocation,C++,Memory,Allocation,我知道int是一个4字节的数据类型。由于它只占用4个字节的内存,为什么编译器要预先分配或初始化8个字节的内存 a的大小是什么?我猜不是8字节。是的,正如我所说,我知道是4字节。这是一个Int。我的问题是,为什么编译器在我进入代码(F10)之前用CC填充8字节的数据?为什么不?它只是用CC标记堆栈,大概是为了检测未初始化的值,所以只要它至少执行sizeof(a)就可以了。试试intx[32],看看你能得到多少。我想我应该把我的问题说清楚一点。为什么编译器要填充8字节的数据,而它知道Int只有4个字

我知道int是一个4字节的数据类型。由于它只占用4个字节的内存,为什么编译器要预先分配或初始化8个字节的内存


a的大小是什么?我猜不是8字节。是的,正如我所说,我知道是4字节。这是一个Int。我的问题是,为什么编译器在我进入代码(F10)之前用CC填充8字节的数据?为什么不?它只是用
CC
标记堆栈,大概是为了检测未初始化的值,所以只要它至少执行
sizeof(a)
就可以了。试试
intx[32]
,看看你能得到多少。我想我应该把我的问题说清楚一点。为什么编译器要填充8字节的数据,而它知道Int只有4个字节,而不是更多?这可能不重要,但我要问一个非常特定于编译器的问题。我只是想知道为什么编译器在初始化Int(4字节)数据类型时要填充8字节的数据。如果你不知道这个问题的具体答案,那不是问题;说为什么重要并不能真正回答我的问题。