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
Posted by 知彼知己百戰不殆
,