'memory space'에 해당되는 글 1건

  1. 2011.06.17 memory space
기초/C2011. 6. 17. 15:34

080484e4 ->문자열              code영역

08048400 ->main               code영역



(e)ip = pc


코드영역에 메인 함수의 주소를 ip에 넣으면 프로그램이 실행된다.




 

stack

 

code

명령어

char carray [3]

=

{‘a’, ‘b’, ‘c’};

메모리

a

b

c

3byte

 

a

b

c

3byte

R/W여부

R/W

 

R-Only

char carray[] = {'a', 'b', 'c'};  //6바이트(stack영역 + code영역)

  char astring[] = {'a', 'b', 'c', '\0'};  //8바이트(stack영역 + code영역)

  char bstring[] = "abc";  //8바이트(stack영역 + code영역)

  char *cstring = "abc";  // 4바이트(code 영역) ※ 출력용으로만사용할 경우



소스

결과


이유 code 영역에 저장된 bstring은 읽기 전용이라서 수정할 수 없음으로 segmentation fault 발생

'기초 > C' 카테고리의 다른 글

typedef  (0) 2011.06.20
const  (0) 2011.06.17
2차원 배열과 포인터  (0) 2011.06.17
배열과 포인터의 관계  (0) 2011.06.15
배열 크기 알기  (0) 2011.06.15
Posted by ICT 기술 블로그