문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 매직넘버 (문단 편집) === 자료 구조를 식별하기 위해 특정 값으로 맞춰지는 필드 === 특히 [[포인터]] 개념과 맞물려서 형 검사라는 개념이 안드로메다로 가버린 [[C언어]]에서 보통 사용되는 테크닉이다. 특정한 자료 구조를 조작하는 함수에서, 어떤 자료 구조의 포인터가 들어왔을 때, 그 포인터가 담고 있는 내용이 진짜로 그 구조로 되어 있는지는 아무도 모른다. 그 주소에 들어있는 것이 다른 자료구조일 수도 있고, 심한 경우에는 아예 포인터가 가리키고 있는 주소가 지금은 유효하지 않은 주소일 가능성도 있다. 결국 포인터만 가지고 여기에 진짜 의도한 내용이 들어 있었는지 알 도리가 없기 때문에, 아예 자료구조에 잉여 필드를 하나 만들어서 그 필드를 특정한 비트 패턴(혹은 특정한 상수)으로 채워버려서, 그 필드에 의도한 값이 들어있는지만 검사하면 쉽게 형 검사 비슷한 것을 할 수 있다. 이 때 쓰이는 필드와 그 값을 "매직 넘버"라고 한다. 물론 [[객체 지향 프로그래밍]]의 개념이 완전히 정립된 뒤 나온 언어들의 경우, 형 변환 한 번 이뤄질 때마다 런타임에서 이런 과정을 전부 거치기 때문에 이런 삽질을 굳이 할 필요가 없다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기