结构数组和相等数组之间的C++差异

enc*_*337 1 c c++ memory arrays struct

例如,内存使用/执行速度是否有任何差异

struct test
{
   int a;
   float b;
   char c;
}; 

test ar[30];
Run Code Online (Sandbox Code Playgroud)

int arr1[30];
float arr2[30];
char arr3[30];
Run Code Online (Sandbox Code Playgroud)

?让我们假装,我们不是在谈论工作的舒适性或程序员的事情,只是执行速度/内存使用.

Unh*_*eep 7

在内存使用方面肯定.

当你分配test ar[30]你实际上是在分配:
int - float - char - (填充) - int - float - char - ...

在你的第二个例子中,你正在分配:
int - int - int - .... - float - float - ... - char - ...

因此,内存中的布局完全不同,这将对您的性能产​​生影响(取决于您的OFC)