C data map

배열·문자열·포인터·구조체는 메모리를 읽는 규칙이 다르다

큰 데이터를 만나면 먼저 저장 모양을 보고, 그다음 접근 기호를 고르면 된다.

배열

같은 자료형을 연속 칸에 저장하고 인덱스로 꺼낸다.

80[0]
90[1]
75[2]

문자열

char 배열 끝에 '\0'이 붙으면 문자열이다.

C[0]
A[1]
T[2]
\0

포인터

값 자체가 아니라 다른 칸의 주소를 저장한다.

p&score[0]
가리킴
80score[0]

구조체

서로 다른 자료형을 한 레코드 안의 멤버로 묶는다.

id1001 nameKim score90
1 저장 모양

연속 칸인지, 주소인지, 필드 묶음인지 본다.

2 접근 기호

[], *, ., -> 중 맞는 기호를 고른다.

3 시험 단서

인덱스 0, '\0', 주소, 멤버 이름을 확인한다.