배열은 0번 칸부터 시작하므로 마지막 원소는 길이보다 1 작습니다.
배열, 문자열, 포인터, 구조체 주소 지도
배열과 문자열은 연속된 칸, 포인터는 주소를 담는 변수, 구조체는 서로 다른 자료형을 묶는 틀로 구분합니다.
문자열은 마지막에 '\0'이 있어 끝 위치를 판단합니다.
&는 변수의 주소를 구하고, *는 주소가 가리키는 값을 읽습니다.
구조체는 이름, 점 연산자, 포인터 화살표 연산자를 함께 봅니다.
sizeof와 strlen 차이
배열 이름이 첫 원소 주소처럼 쓰이는 상황과 전체 배열 크기를 구하는 상황을 분리해야 합니다.
배열과 포인터
a[i]는 *(a + i)처럼 기준 주소에서 i칸 이동한 뒤 값을 읽는 표현입니다.
문자 입력
%s 입력은 공백 전까지 읽고, 배열 크기보다 긴 문자열은 위험합니다.
포인터 매개변수
함수 안에서 원본 값을 바꾸려면 주소를 전달해 간접 참조해야 합니다.
구조체 멤버
변수는 점 연산자, 구조체 포인터는 화살표 연산자로 멤버에 접근합니다.