0
나는 노동 조합을위한 메모리 주소 alingment에 대해 약간 혼란 스럽다. , 전 코드를 작성하는 동안주소 Union을위한 정렬
typedef union {
char state[x];
char encode[4];
int index;
} Location;
우리는 여러 정렬 규칙을 사용
int 4 bit alignment
double 4 bit for linux
char * 4 bit for linux
이러한 조건에 대한 "그 노동 조합이 정렬되는 방식"; 플랫폼 리눅스 조립의 x86 64 비트
x < 4 ?
x = 4 ?
x > 4 ?
하면
참고 : 당신은 더 나은 의견이있는 경우 그 질문에
감사합니다. 질문을 추가하십시오. –
@fatai : 더 이상 혼동하지 않지만 내 대답은 같습니다. 'x'는 정렬 될 필요가있는 _arrays_가 아니기 때문에 정렬에 아무런 영향을 미치지 않습니다. 64 비트 int는 8 비트'char' (또는 10 억 개의 8 비트'char' 요소의 배열)보다 더 엄격한 정렬 요구 사항을 갖습니다. – paxdiablo