IT/솔루션) 난 정말C... 없다구요

24장. 배열과 포인터, 포인터 연산) 문제 24-3 [언제나 동일한 arr[i]와 x(arr+i)]

돔찌 2019. 4. 18. 18:16

<2016. 9. 26. 21:15>

24장. 배열과 포인터, 포인터 연산) 문제 24-3 [언제나 동일한 arr[i]와 x(arr+i)]

 

/*
arr[i]와 *(arr+i)는 언제나 동일하다.
이러한 특성은 다차원 배열에도 성립한다.
아래의 코드에서 *를 없애서 순수한 배열 접근의 형태로 변경해보자.
*/
#include<stdio.h>
#include<stdlib.h>
int main(void) {
	int arr[3][4] = { {
			1
		}
		, {
			2
		}
		, {
			3
		}
	}
	;
	int i = 0;
	int j = 0;
	(*(arr + 2))[3] = 20;
	//책 좀 이상함
	*(arr[1] + 3) = 30;
	*(*(arr + 2) + 1) = 40;
	*(*arr + 2) = 50;
	**arr = 70;
	for (i=0; i < 3; i++) {
		for (j=0; j < 4; j++) {
			printf("%d   ", arr[i][j]);
		}
		printf("\n");
	}
	system("pause");
	return 0;
}