| 
포인터 변수 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)일때 차이점좀 알려주실수있을까요?
 :
 :
 |