본문 바로가기
Ghost의 Linux C Note(노트)/Ghost의 Linux C언어 포인터 복습

점점 멀어지나봐~~ ㅠㅠ

by dark ghost 2012. 5. 21.
728x90
반응형

포인터의 이해를 위한...

1. 위 그림은 포인터를 이용하여 계속 값을 바꾸는 프로그램이다.

      char *p;

2. 포인터 p라는 변수를 선언하여 만든다.

      p = &ch;

      *p = 'B';

3. ch 변수에 A 라는 값을 넣었다. 위 구문은 p라는 포인터 변수에 ch 라는 주소값을 넣고 *p는 p의 메모리 주소를 따라 들어 가면 거기에는 ch라는 메모리 주소 값이 있다. 그 주소에 B라는 문자를 넣으라는 뜻이므로 거기에 있던 A는 사라지고 B가 들어 가게 된다.

    printf("%c\n", ch);

4. printf 문으로 ch를 문자로 출력하라는 구문이다.

 

5. main 파일을 실행 시킨 화면이며 값이 다 다른 것을 볼수 있다. 소스에서 printf 문에는 분명 ch라는 변수를 출력 시키도록 했지만 값이 다 달라졌다는 것은 포인터로 ch 변수에 있는 값들을 다 바꾸었다는 소리이다. 포인터는 메모리를 직접적으로 읽거나 쓸수 있으므로 잘 활용 한다면 좋을 것이다. 

728x90
반응형

댓글