연결리스트



main.c

main1.c


main2.c



메모리의 구성



코드 영역 - 실행할 프로그램의 코드가 저장되는 메모리 공간. CPU는 코드영역에 저장된 명령문들을 하나씩 가져가서 실행을 한다.


데이터 영역 - 전역변수와 static 변수가 할당된다. 프로그램의 시작과 동시에 메모리 공간에 할당되어 프로그램 종료 시까지 남아있게 된다.


스택 영역 - 지역변수와 매개변수가 할당된다. 선언된 함수를 빠져나가면 소면된다는 특징.


힙 영역 - 생성과 소멸의 시기가 지역변수나 전역변수와 다른 유형의 변수들을 다룸. 







동적 할당

allocation 할당

malloc함수 - 메모리 공간을 할당. 누군가 주소를 받아줘야 함.

free함수 - 할당된 메모리 공간을 해제.

int main()

{

char *p;                    //

p=malloc(10);            //p는 malloc 10byte를 가리킴

 //p가 가리키지 않으면 어딘가에는 존재하지만 찾지 못함.

p=0;                         //       

free(p);

}


main3.c

위의 메모리 구조와 함께 보면 이해 갈 거임.