1 2 3 4 5 6 7 8 | #include <stdio.h> int main(void) { char string[]="hello world"; char* ptr="hello"; } |
string 배열에 들어간 hello world는 프로그램이 실행되면서 스택 메모리에 저장된 hello world이다. 따라서 값의 수정이 가능하다.
하지만 포인터 ptr에 들어간 hello는 코드 영역(상수 영역=읽기 전용)에 hello가 저장돼 있고, 그것을 가리키는 주소값을 저장해논 변수라서 읽기만 가능하다. 즉, 값의 수정이 불가능하다.
'언어 > C' 카테고리의 다른 글
volatile 형한정어 (0) | 2016.10.19 |
---|---|
scanf와 fgets 함수를 같이 사용하면서 나타나는 문제점 (0) | 2016.10.19 |
getc() 함수를 사용했을 때의 오류 (0) | 2016.09.28 |
함수 포인터 컴파일 오류 (0) | 2016.09.26 |
전처리문 (0) | 2016.05.02 |