간단하게
int s =100;
int *part;
part = &s;
*part++;
printf("%d" , s);
이거왜 결과가 대체 100이 나오냐
(*part)++;
이건 정상적으로 출력되고
나름 대갈빡굴려서 생각해봐도 잘모르겠다
한 30분 정도 고민해봤는대 나름 머리에서 정리된건 포인터가 선언되고 나서 ++되야 하기때문에 포인터를 먼저 가로쳐줘야하나
아니면 *곱연산이랑 햇갈리니까 잘모르겠다고 걍 넘어가나 오만가지 생각은 다해보는대 잘모르겠다 설명좀 부탁한다
괄호 안치면 *(part++); 이런 연산이 되거든.
그럼 주소값을 아직 불러오지 않은상태에서 ++하기때문에 쓰래기값에 ++해놓고 그위에 s를 불러서 100을 내놓는다 이소리여?
내가 c는 잘모르지만 ++연산자가 *연산자보다 먼저 실행된다
그냥 포인터 책이나 한번 더 봐라. 설명도 귀찮다.
포인터는 모든연산자에서 수선순위로 있을줄알았는대 아니였구나 고맙다
++연산자를 포인터 변수에 적용한거 뿐인데 왜 쓰레기값 드립을 칠까