열혈강의c공부하다가 질문드립니다

(1)

*ptr 이 가리키는것이 33이 되었잖아요..

*ptr++ 를 하게 되면 원래 있던 *(ptr+1), *(ptr+2)는 어떻게 되나 궁금해서 직접 *(ptr+1)를 확인해봤는데 이상한 값이 나오네요...

왜 이런건가요??


(2)
배열의 이름은 포인터 상수라 주소값 변경이 불가능하다고 했는데

왜 여기서는 ptr++ 이 가능한가요..
 
ptr=arr이나 다름 없으니까 이렇게 되면 배열의 이름에 담긴 값이 변경 되는건데;;;



=======================
#include <stdio.h>

int main(void)

{

 int arr[3]={11, 22, 33};
 int*ptr=arr;

 printf("%d %d %d n", *ptr, *(ptr+1), *(ptr+2));

 printf("%d ", *ptr); ptr++;
 printf("%d ", *ptr); ptr++;
 printf("%d ", *ptr);
 printf("%d", *(ptr+1));
 return 0;

 

}