프로그래밍 언어/C
포인터 연산
야식은진리다
2020. 1. 5. 03:46
포인터 변수를 대상으로 +연산과 -연산을 할 수 있다.
중요한 것은 +1을 한다고 해서 간단히 1만 더해지지는 않는다는 것이다. int형 포인터에 1을 더하면 4가 증가하고 double형 포인터에 1을 더하면 8이 증가한다. 즉 간단히 말해서 type 형 포인터 변수에서의 n을 더한다는 것의 의미는 n*sizeof(type)의 크기만큼 더하겠다는 것과 같다.
int arr[3] = { 1, 2, 3 };
printf("%d",*(arr+1));// printf("&d",arr[1]); 과 같은 결과가 나온다.
즉 int형 포인터의 경우 +1을 하면 4파이트 떨어진 메모리를 가리키게 되므로 배열에서 다음 요소를 가리키게 된다.
따라서 arr[i]과 *(arr+i)는 같다!