배열과 포인터의 관계

2022. 5. 23. 19:40C언어

728x90

배열명 : 첫 번째 배열 요소의 주소

 

주소 연산 (덧셈)

주소 + 정수 -> 주소 + (정수 * 주소를 구한 변수의 크기)

 

int main(void)
{
	int ary[3];
	int i;

	*(ary + 0) = 10;
	*(ary + 1) = 20;
	*(ary + 2) = 30;

	for (i = 0; i < 3; i++) {
		printf("%d\n", ary[i]);
	}
	return 0;
}

 

배열명이 첫 번째 배열 요소의 주소라는 것과 주소연산 그리고 간접참조연산자를 이용하여  배열요소에 값을 대입하였다.

 

int main(void)
{
	int ary[3];
	int i;
	int* pa = ary;

	*pa = 10;
	*(pa + 1) = 20;
	*(pa + 2) = 30;

	for (i = 0; i < 3; i++) {
		printf("%d\n", *pa);
        pa++;
	}
	return 0;
}

 

배열명이 주소이므로 포인터를 이용하여 배열 요소에 값을 대입할 수 있다. 

 

이상으로 포인터와 배열의 관계에 대해서 공부해보았습니다!

 

가장 중요한 것은 배열명은 배열의 첫번째 요소의 주소라는 것!

728x90