창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


LIST ALL
Posted by 박종훈2009-02-26 18:24:24, Hit : 7297
맞짱! 포인터(Pointer) - 2부 [C언어 포인터 존재를 확인하자!]
Homepage : http://qnrdlqkrwhdgns.canxan.com/
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=open_lec&no=117

맞짱! 포인터(Pointer) - 2부 [C언어 포인터 존재를 확인하자!]
오랜만에 다시 글쓰기를 제개하네요^^;


들어가기전에...
*앞의 1부에서 C언어로 변수를 선언하시는 방법을 아셔야합니다!
이 강좌에서는, 실제로 C언어로 간단한 프로그램작성해서 C언어에서 포인터가 어떻게 사용되는지에 대해서 매우 간단하게 다룰 계획입니다.

'포인터는 메모리의 주소를 담고있는 것이다'라는 내용을 실제로 눈으로 확인하는 강좌가 될겁니다!
즉, 오늘 강좌에서는 포인터가 실제로 메모리의 주소를 담고있는지에 관해서 살펴볼겁니다.


아래는 간단한 C언어로 작성된 코드입니다. (깨지신다면 클릭하시거나 아래의 소스를 보세요!)


일단,

 1: int main(int argc, char *argv[])
 2: {
 3:     int a;            //  일반  변수입니다.
 4:     int* b;           // 포인터 변수입니다.
 5:     
 6:     a = 15631;        // a라는 변수에 15631이라는 값을 넣습니다.
 7:     b = &a;           // b라는 포인터 변수에 a의 메모리 주소를 넣습니다.


 8:     printf("나는 일반 변수! : %d\n", a);     // 15631이라는 값이 출력.
 9:     printf("나는 포인터 변수! : %d\n", b);   // a의 메모리 주소값이 출력.


10:     system("PAUSE");
11:     return EXIT_SUCCESS;
12: }


여기서 핵심포인트가 되는 부분는 빨간색으로 표시를 했습니다.
다른 이상한 코드는 다 필요없습니다. 우리가 볼 부분은 빨간색으로 강조된 부분입니다.
첫번째줄에 int main 이라던가 마지막에 있는 system("PAUSE"); 등은 그냥 넘어가시기 바랍니다.
우리의 목적은 포인터가 존재함을 보이는 거지 않습니까?^^

3, 4번째 줄의 코드는 1부 강좌를 제대로 이해하셨다면 다 아실겁니다. 또한 뒤에 주석이 보이시죠?
6, 7번째 줄의 코드 역시 1부 강좌를 제대로 이해하셨다면 잘 아실겁니다.

a라는 변수에는 15631이라는 숫자를 넣는 반면에, b라는 변수에는 a의 메모리 주소를 넣는거죠!!
b = &a 라는 부분이 b에다가 a변수의 메모리 주소를 넣으라는 거죠~ (1부 강좌에서 설명한 내용입니다.)

그리고, 8, 9번째 명령은 a와 b의 내용을 출력하라는 명령입니다. printf함수는 창조의 문자창보여와 비슷한 것이라고 보시면 되겠습니다.

위에서 작성한 코드를 컴파일해서 실행하면 어떤 결과가 나올까요? 짐작하건데,
a에서는 15631이라는 우리가 입력한 값이 출력될 것이고,
b에서는 a의 메모리값(번지수)이 출력될 겁니다!

그러면 직접 확인해볼까요?


(컴파일 중입니다...)




우리가 원했던 결과로군요!!
포인터가 존재한다는 것을 보여줍니다!

첫번째줄인 a에서는 15631이라고 우리가 입력한 값이 출력이되고
두번째줄인 b에서는 2293620이라는 a변수의 메모리 주소(번지수)가 출력되는군요!
여러분은 C언어를 통해 포인터가 존재함을 보셨습니다!


1: 나는 일반 변수! : 15631
2: 나는 포인터 변수! : 2293620

3: 계속하려면 아무 키나 누르십시오 . . .



위 결과가 무엇을 뜻하는 지를 이제 아시겠죠?^^
1번째 줄은 우리가 a변수에 입력했던 15631을 뜻합니다!
2번째 줄은 이상한 2293620 이라는 값이 나오는데요! 이 값이 바로 a변수의 메모리 주소입니다!!!
바로 포인터라는 거죠! 포인터!!


그렇습니다. 포인터는, 메모리의 주소입니다! 번지수!!라는 걸 잘 기억하시기 바랍니다.


이 강좌는 이렇게 짤막하게-_-;;; 마치겠습니다.
이 강좌에서 여러분은 C언어를 통해 포인터가 메모리의 주소(번지수)를 가르킨다는 사실을 직접! 눈으로! 확인하셨습니다!


여러분은 이제 포인터가 메모리의 주소를 가르킨다는 사실을 확인하셨으니, 이제 창조에서 사용하는 방법을 알아보겠습니다.

지금까지 C언어를 다룬 이유는 포인터가 존재한다는 사실을 알아보기 위해서 그리고 포인터의 개념을 익히기 위해서 써봤습니다.
그런 다음부터는 창조에서 사용하는 방법을 알아보죠!

>다음강에서는 창조에서 포인터를 제한적으로나마 사용하는 방법을 알아보겠습니다!


LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
69
   [수정!] 직선, 사각형, 타원, 원, 호, 현을 그려보자! [4]
박종훈 2009/05/10  6665
68
   맞짱! 포인터(Pointer) - 3부 [창조에서 포인터를 사용해보자!] ... 제작중
박종훈 2009/02/26  5939

   맞짱! 포인터(Pointer) - 2부 [C언어 포인터 존재를 확인하자!]
박종훈 2009/02/26  7297
66
   맞짱! 포인터(Pointer) - 1부 [C언어 들춰보자!] [7]
박종훈 2009/02/26  6275
65
   자연수들의 합 쉽게 구하는 방법(수학과 프로그래밍) [7]
박종훈 2009/02/15  6129
64
   골칫거리 ㅎ사용자함수 DLL하나로 해결하기! [7]
박종훈 2007/06/23  7114
63
   환경파일로 파워유저되어보자![개정판] [예제/사용!] 2 [6]
박종훈 2007/01/02  7771
62
   환경파일로 파워유저되어보자![개정판] [설명] 1 -- 완성
박종훈 2007/01/02  6115
61
   ㅎ사용자함수 알아보기! [2]
박종훈 2006/12/24  5402
60
   '변수'와의 인터뷰 -_-; [5]
박종훈 2006/12/24  5362
59
   창조 첫 시작시 명령어 익혀보자~ [4]
박종훈 2006/12/23  8046
58
   효과적인 조건문을 위한 논리연산자 [4]
박종훈 2006/10/15  6047
57
   API사용을 위한 창조 구조체다루기 [M_S 0608190928] [3]
박종훈 2006/08/18  5551
56
   창조 시작단계 문법배워볼까? [M 0608181240] [8]
박종훈 2006/08/17  6518
55
   스크린세이버에대한 분석 [5]
박재성[날개달기] 2006/03/08  5288
54
   [삐까뻔쩍강좌] 오랜만에 글쓰네.. [10]
박재성[날개달기] 2004/09/07  4995
53
   방금생각한 암호화 알고리즘 - -;; [2]
박재성[날개달기] 2004/07/29  5677
52
   [펌][강좌] 기초적인 압축 알고리즘 [8]
날개달기 2003/04/14  6313
51
   [강좌]충돌알고리즘 설명. For 게임만들기 [1]
김환욱 2004/06/17  7007
50
   기타 자료실에 있는 다람쥐어 (파악해 보자_) [2]
김제형 2009/05/03  5778
49
   창조 초보자들을 위한 아주 기본적인 사용법
김대명 2011/03/09  6226
48
     [re] [끼적강좌 8]RPG게임을 만들어보자 [2강] [1]
권선중 2005/07/17  5709
47
   [끼적강좌 8]RPG게임을 만들어보자 [1강] [3]
권선중 2005/07/16  6080
46
       [끼적강좌7] 달력 구현강좌 [3강][응용]
권선중 2005/07/16  4641
45
     [끼적강좌7] 달력 구현강좌 [2강][고급]
권선중 2005/07/15  4862
LIST ALL   Prev [1][2] 3 [4][5] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인