sum += *ary++; 에서 배열의 ary[0]부터 더해지는 건가요?
앵초
2023.04.01
sum은 배열의 원소 모두를 차례로 더한값 입니다.
int ary[] , int sum; 이라면,
sum += *ary++; 은
sum += ary[i] 와 같나요? , 단 for (i=0; i SIZE; i++) 즉, i= 0 ~ SIZE-1 까지. 여기서 SIZE = sizeof(ary) / sizeof(int) 로 배열의 원소개수.
같다면 이해가 안돼는 부분이 ary가 가리키는 메모리상 공간(변수)에 저장된 값이 sum 에 저장된 다음 ary+1 이 가리키는 메모리상 공간에 저장된 값이 아까 sum에 저장된 값에 sum=sum+1 로 더해지고 ..이런 식으로 되는 건가요? ary+1 부터 더해지지 않고 ary부터 더해지는 이유가 먼가요?
다르게 말하면, ary+1부터 더해지게 하려면 포인터로 어떻게 표현할수 있나요? 배열말고 포인터식 표현으로.