게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
초보, 본삭금) c언어 질문 있습니다. 포인터 변수 관련.
게시물ID : programmer_18923짧은주소 복사하기
작성자 : 소백산맥
추천 : 0
조회수 : 389회
댓글수 : 3개
등록시간 : 2016/11/08 00:07:57
옵션
  • 본인삭제금지
#include <stdio.h>

int main(void)
{
int * ptr1=0x0010;
double * ptr2=0x0010;

printf("%p %p \n", ptr1+1, ptr1+2); //4가 증가하고 8이 증가한다.
printf("%p %p \n", ptr2+1, ptr2+2); //8이 증가하고 16이 증가한다.

printf("%p %p \n", ptr1, ptr2);
ptr1++; //4가 증가한다.
ptr2++; //8이 증가한다.

printf("%p %p \n", ptr1, ptr2);
return 0;
}



printf("%p %p \n", ptr2+1, ptr2+2); //8이 증가하고 16이 증가한다.
이 부분이 이해가 안가네요...
옆에는 ptr2+1이 8증가하고 ptr2+2가 16증가한다고 합니다.
그런데 막상 visual c++ 2010으로 실행하면 결과가 18, 20으로 뜨네요.
16증가하면 결과가 26이어야 하는 것 아닌가요?
책에 실려있는 실행결과에도 00000020이라고 뜨는데.. 왜 20이 뜨는지 제 미천한 실력으로는 이해가 안갑니다.
상세한 설명해주시면 감사하겠습니다...
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호