배열과 포인터의 관계
2022. 5. 23. 19:40ㆍC언어
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
'C언어' 카테고리의 다른 글
구조체, 포인터, 동적할당 문제 (0) | 2022.08.12 |
---|---|
내가 헷갈리는 포인터 파트 정리! (0) | 2022.05.23 |
c언어 - 테트리스 만들기 초기 설정,4 블럭 낙하 (0) | 2022.02.12 |
c언어-테트리스만들기3, 테트리스 블럭만들기, 다차원배열 (0) | 2022.02.09 |
c언어 -테트리스 만들기2 위치 지정하기, 키보드로 움직이기 (0) | 2022.01.28 |