C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[40722] Re:기초적인거...질문드립니다.
소리바람.OJ [phonon] 726 읽음    2005-06-24 10:42
자세한 것을 알고 싶으시면 어셈블러와 하드웨어에 대한 이해가 우선입니다.
애플리케이션 개발자 입장에서는
'포인터는 하나의 데이터 형'으로 생각하시면 됩니다.

int, double, long, usigned, etc.
위의 데이터형에 포인터를 추가로 생각하시면 됩니다.
값을 저장한다는 것에선 같지만, 위의 것들과 다른 점은 데이터가 저장된 주소값을 저장한다는 것 뿐입니다.

int*, double*, TStringList*, TEdit*, etc.
일반 데이터형, class, struct의 주소값을 저장할 수 있습니다.

따라서,
    int a = 10;
    int *pa = &a;                             //a의 주소값을 pa에 저장
    ShowMessage((AnsiString)*pa);
    *pa = 11;                                  //pa가 지정하는 주소인 a에 11를 저장
    ShowMessage((AnsiString)a);

막막한초보 님이 쓰신 글 :
: int a = 10;
: int *pa = &a;                             //int *pa 는 포인터를 선언과 동시에 a의 주소값을 저장
: 이렇게 하는 것과
: int m = 9;
: int *pm = NULL;                       // 포인터 pa 선의
: pm = &m;                                //m의 주소값을 pm에 저장
: 이것과 동일한 결과가 맞나요?

동일합니다.

저도 포인터에 대한 이해를 위해 책을 많이 봤지만 힘들었습니다.
'백독이불여일타'입니다.
여러가지 경우에 대한 포인터 예제를 직접 작성해 보시면 쉽게 이해를 하실 수 있습니다.


건승을 빕니다.


: 맞는 다면
: 선언할때 *pa = &a 이라고 해서 주소를 넣는 반변에
: 아래것은 사용할때 pm에 &m의 주소를 넣는 거잖아요.
:
: 결론은 *선언시에는 메모리 주소를 받고
: *를 사용 할때는 값을 받는다.. 이렇게 되는데..
:
: 왜 그런 차이가 나는 거죠???
: 설명을 잘 못해서...질문이 이해가 가시는지..쩝...
: 긴글 읽어 주셔셔 감사하고요.. 혹시 이런 의문을 가져 보신 분들은 답변 부탁 드립니당...^^

+ -

관련 글 리스트
40721 기초적인거...질문드립니다. 막막한초보 709 2005/06/24
40722     Re:기초적인거...질문드립니다. 소리바람.OJ 726 2005/06/24
40724         감사 ^---^ (냉무) 막막한초보 664 2005/06/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.