게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 포인터 배우는데.. 이해가안되는게있어요! ㅠㅠ
게시물ID : programmer_11235짧은주소 복사하기
작성자 : 창천을꿈꾸며
추천 : 0
조회수 : 338회
댓글수 : 5개
등록시간 : 2015/06/14 11:53:15
#include<stdio.h>
int main()
{
    int (*arr)[5];
    int b[5]={1,2,3,4,5};
    arr=&b;
    printf("%d\n",b);
    printf("%d\n",arr[0]);
    printf("%d\n",arr);
    printf("%d\n",*arr);
    printf("%d\n",*(arr[0]));
    printf("%d\n",*(arr +1));
    printf("%d\n",*(arr[0]+1));
    printf("%d\n",arr[0][1]);
    return 0;
}


배열 포인터에 대해 실습해보고 있는데요..

궁금한점이.. arr과 *arr을 출력한값이 똑같더라구요...! arr이 가르키는곳의 값을 반환하는게 *arr이라고 배웠는데.. 왜 똑같이 나오는건가요??
b[0]이 나올줄 알았는데..

또 printf("%d\n",*(arr +1)); 의 경우에도 arr이 가르키는것이.. b의 주솟값이니까 *(arr+1)을 하면 쓰레기값이 나올줄 알았는데..
arr 에다가 20이 더한게 나오더라구요.. 왜 20을 더하는진 알겠는데.. 이것도 마찬가지로 b의 주솟값에다가 20을 더한 주솟값이 담고있는 값이 나와야 되는게 아닌가요...? 우으 헷갈리네요...
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호