가능한 중복 할당되는 방법 :
Why isn’t sizeof for a struct equal to the sum of sizeof of each member?메모리는 구조체의 형식 정의의의에 대한 (C)
당신은 예를 들어, C에서 구조체, 만들 때 :
typedef struct student
{
int roll_no;
char* name;
int* pointer;
}student;
을 나는 roll_no와 name이 연속적으로 메모리에 저장되지 않는다는 것을 알아 차렸다. 이게 어떻게 작동합니까? 목표가이 데이터를 캡슐화하는 것이라면 연속적으로 저장하면 더 좋지 않겠습니까? 컴파일러는 이러한 데이터 조각이 함께 있다는 것을 어떻게 알 수 있습니까?
[구조 패딩] (http://en.wikipedia.org/wiki/Data_structure_alignment#Data_structure_padding)을 읽으십시오. 'typedef'는'type'을위한 별칭만을 생성합니다, 그것은 새로운 데이터 타입을 정의하지 않습니다. –
[이 구조체 정렬에 대한 답변] (http://stackoverflow.com/a/119128/1887090)에는 좋은 설명과 예제가 있습니다. – Walfie