다음 코드 WTH 2 개 질문 :구조체/클래스가 메모리 패딩에 어떻게 영향을 줍니까?
struct Value
{
int value
}
void main()
{
Value v1;
Value v2;
int a;
int b;
return 0;
}
1) 왜 변수의 메모리 ADRESS는 아래 기능에 저장됩니다?
V1 -> 0x00007fff5fbff758
V2 ->
하지만 내 구조체의 예를 들어 그들은 다른 방향에 저장됩니다 0x00007fff5fbff750? 예 : Value에 다른 변수가있는 경우 int value_2;
v1.value -> 0x00007fff5fbff750
v2.value_2 -> 0x00007fff5fbff754
2) 이유 INT A 및 메모리 B INT 인접 이유 V1 및 V2 메모리에서 연속이 아니다.
어떤 종류의 정렬을 모르고 있습니까?
C 또는 C++? 그들은 다르다. 그리고 C는'클래스 '를 가지지 않는다. – NathanOliver
패딩을 할 수도 있고하지 않을 수도 있습니다. 변수는 임의의 순서로 저장할 수 있습니다. 이 모든 것은 완전히 구현에 달려 있습니다. –
코드에는 'value_2'이 (가) 없습니다. –