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

C/C++ Q/A
[6854] Re:포인터 질문 좀 드릴게요~
주누 [junesaku] 8632 읽음    2013-12-11 16:48
포인터 변수 p를 가정할때 p+1은
포인터 변수 p의 타입 (char*, int*)에 따라서 계산 결과가 달라집니다.
int *pi;
char *pc;
에서 pi+1은 pi의 주소값에 int의 바이트 크기(4)만큼 이동되고
pc+1은 pc의 주소값에 char의 바이트크기(1)만큼 이동됩니다.
포인터변수에 +연산은 위처럼 포인터 변수의 타입에 따라서 하는 행동이 달라집니다.

*연산자는 뒤의 변수에 저장된 값(메모리주소)으로 메모리에 찾아가 해당 메모리에 저장되어 있는 값을 반환 하는 연산자 입니다.

또는 포인터 변수 생성시나 곱하기로도 사용되지요.

붕붕이 님이 쓰신 글 :
: 안녕하세요
:
: 포인터와 1차 배열 중 포인트는 현재 4바이트 할당인데
:
: 포인터 변수 p를 가정하고
:
: p+1은 p가 저장하고있는 주소값에서 4바이트가 이동되는지..
:
: 아니면 p가 저장하고있는 주소의 변수 자료형 만큼 이동되는지 의문이 들어서요..
: ex)
: char * p;
: char a;
: p=a;
: 이경우도 포인터 변수는 4byte만큼 할당대자나요
:
: 근대 (p+1)일때와 *(p+1)일때 차이점좀 알려주실수있을까요?
:
:

+ -

관련 글 리스트
6853 포인터 질문 좀 드릴게요~ 붕붕이 14456 2013/12/11
6854     Re:포인터 질문 좀 드릴게요~ 주누 8632 2013/12/11
6855         Re:Re:포인터 질문 좀 드릴게요~ 붕붕이 39615 2013/12/11
6856             Re:Re:Re:포인터 질문 좀 드릴게요~ 주누 46603 2013/12/11
6857                 감사합니다~ 붕붕이 6503 2013/12/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.