나의 지식 보관소
포인터 연산 본문
포인터 변수를 대상으로 +연산과 -연산을 할 수 있다.
중요한 것은 +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)는 같다!
'프로그래밍 언어 > C' 카테고리의 다른 글
다차원 배열과 포인터의 관계 (0) | 2020.01.05 |
---|---|
포인터를 대상으로 하는 const선언 (0) | 2020.01.05 |
상수 형태의 문자열 (0) | 2020.01.05 |
배열과 포인터의 관계 (0) | 2020.01.05 |
포인터 Pointer (0) | 2020.01.05 |