C 표준은 의도적으로 언어의 몇 부분을 불명확하게 놔둔다.implementation - 특정 플랫폼에서 프로그램을 컴파일, 링크 그리고 실행하기 위해 필요한 소프트웨어 implementation가 구체적인 내용들을 작성하고 그 결과로 프로그램의 행위는 implement
C 표준에 따르면, c = (b = a + 2) - (a = 1); 와 j = i \* i++; 같은 실행문들은 undefined bahavior을 야기한다.이는 implementation-defined behavior와 다르다.프로그램이 undefined behavi
함수 포인터C는 포인터가 오직 데이터만 가리키게만 하지 않는다. 함수도 기억 장소를 점유하며 이는 모든 함수가 각 변수들이 주소를 가지는 것처럼 주소를 가지고 있다.(\*f)에서 괄호는 f가 함수를 가리키는 포인터 즉 함수 포인터라는 것을 나타낸다.컴파일러 관점에서는
연결 리스트(linked list)노드라 불리는 구조체의 체인이다.각 노드들은 다음 노드를 가르키는 포인터를 가지고 있다.마지막 노드는 null pointer를 가진다. \- N -> N -> N -> N -> NULL배열과 비교 \- 연결 리스트는 배열보다 더 유