포인터 배열
포인터 복습
char *ap = "dog";
char *bp = "elephant";
100 ap
['d'|'o'|'g'|'\\0'] <-- [100]
: dog을 담고있는 메모리 주소를 갖고있는 ap 변수
200 bp
['e'|'l'|'e'|'p'|'h'|'a'|'n'|'t'|'\\0'] <-- [200]
: elephant을 담고있는 메모리 주소를 갖고있는 bp 변수
----------------------------------------
배열에서 주소가져오는 법
int a[3] = [1, 2, 3];
int *ap = a; //a의 시작 주소값을 저장
포인터 배열의 예시
포인터를 배열로 만들면 좋은점?
→ 반복문 사용으로 여러 포인터에 접근이 가능해진다.
→ 즉, 반복문으로 다른 배열 여러 개를 한번 접근할 수 있다.
위의 그림처럼 ap라는 포인터 배열이 있고, 각각 a, b, c라는 배열이 있다고 했을 때 각각 포인터 배열에 각 배열의 시작 주소를 넣으면 아래와 같아진다.
이렇게 포인터 배열이 만들어지면 각각의 다른 배열의 요소에 간단한 반복문을 통해 접근이 가능하다.
for(i=0; i<3; i++){
printf("%d", ap[i]);
}
//1234511121314152122232425
for(i=0; i<3; i++){
for(j=0; j<5; j++){
printf("%d", ap[i][j]);
}
printf("\n");
}
// 12345
// 1112131415
// 2122232425
'문법관련 > C' 카테고리의 다른 글
14.1 다차원 배열 (0) | 2024.08.07 |
---|---|
13. 변수 (0) | 2024.07.04 |
12.2 문자열 연산함수 (0) | 2024.06.27 |
12.1 문자열과 포인터 (0) | 2024.06.26 |
11.3 getchar(), putchar() (0) | 2024.06.26 |