프로그래밍/C언어

C프로그램의 메모리모델.(작성중)

콘파냐 2013. 6. 2. 23:33

C언어로 작성된 프로그램은 주기억장치를 효율적으로 사용하기위하여 보통 64KB 크기의 논리적단위로 나누어서 할당과 할당해제로 관리하게된다.

이 논리적 단위를 세그먼트(segment)라한다.

세그먼트는 코드세그먼트, 데이터세그먼트로 구분해서 사용하고, 데이터세그먼트는 기억장소의 할당방법에 따라 정적세그먼트와 동적세그먼트로 나뉘게된다.

또한 데이터세그먼트는 동적할당에의해 관리되어지는 스택세그먼트, 힙세그먼트,와 정적할당에 의해서 관리되어지는 정적(Data) 세그먼트로 구분되어진다.

데이터세그먼트에 데이터를 저장하기 위해서 할당되어진 기억장소를 변수라고한다.



함수호출문장은(리턴값) 레지스터에 저장이된다.


전처리기나 컴파일러는 컴파일할 때 원시 코드에서 기술되어진 단어나 기호들에대해 의미를 해석하고 처리한다. 이때 전처리기나 컴파일러에 의해서 의미를 해석할 수 있는 단위들을 토큰(Token)이라고 한다.


키워드

컴파일러에 의해서 이미 특별한 의미가 정의되어진 단어


식별자

프로그래머에 의해서 의미가 부여되어진 명칭

식별자 규칙

명칭의 첫번째로 _이나 대소문자가와야함

숫자나 $표시는 첫번째만아니면 사용가능

밑줄로시작되는 명칭은 가능하면 사용하지 않도록 해야한다. 컴파일러마다 내장 키워드들이 일반적으로 밑줄 하나 아니면 두개로 작성이 되어 제공되며, 첫번째 글자가 일반적으로 대문자로 시작되므로 명칭 충돌이 발생할 소지가있다.


#전처리기지시자

반응형