edu.goorm.io/learn/lecture/201/한-눈에-끝내는-c언어-기초/lesson/1271948/포인터-연산과-배열
보면 저 프린트 문이 이해가 안갔는데 이유가 밝혀졌다.
1>c의 후위연산의 특징 = ++를 하면 +=과 같은 효과가 나며 =가 필요없다.
파이썬의 경우 저 연산을 print내에서 하면
할당문으로 저장을 해야 된다. 즉 p+=1처럼 =이 들어가야 한다.
근데 c에서는 ++를 하면 =가 없어도 그게 저장이 된다.
2>후위 연산의 특징 중 코어를 잊어버려서 해석못함
++를 하면 그 프린트 문에서는 ++로 더해진 효과가 프린트 안되고 ++를 하기 전과
같은 값이 나온다는 사실을 잊어버렸다.
그래서 저 프린트 문 해석을 못했다.
프린트문에 저렇게 해서 로직 분리를 안 한 응용문으로 써서 초심자인 나는 해석을 못했다.
이제 이글의 주제를 보자.
맨 밑에가 사실 주제이다.
포인터- 배열 변수는 ++나 +2 등의 연산이
그 선언한 자료형에 따라 되어 해석된다는 것이다.
좀 편한데 이걸 기본으로 하다니 너무 임의적 문법이 아닌가 걱정이 되긴 한다.
자동으로 그 주소를 해석해서 즉 예로
int의 경우 4바이트를 주소값에 더하는데
그게 ++연산이나 +n연산에서 자동으로 그 자료형의 바이트에 맞춰서
배열 요소가 하나씩 건너간다
그리고 마지막 주제 핵심은 *(p+1) 이 들어간 괄호이다.
바로이게 파이썬 등의 배열과 같은, 포인터문법을 이용한 배열 밸류 엑세싱이다.