#include <stdio.h>
int main(void){
int ary1[4] = {1,2,3,4};
int ary2[4] = {11,12,13,14};
int ary3[4] = {21,22,23,24};
int *pary[3] = {ary1,ary2,ary3};
int i,j;
for (i = 0; i< 3; i++){
for (j = 0; j < 4; j++){
printf("%5d", pary[i][j]);
}
printf("\n");
}
return 0;
}
### 배열과 포인터 배열 초기화
- `int ary1[4]`, `int ary2[4]`, `int ary3[4]`를 선언하고 각각 `{1,2,3,4}`, `{11,12,13,14}`, `{21,22,23,24}`로 초기화합니다. 이 배열들은 각각 4개의 정수를 저장합니다.
- `int *pary[3] = {ary1, ary2, ary3};`는 정수 포인터의 배열을 선언하고, 초기화합니다. 이 배열은 `ary1`, `ary2`, `ary3` 배열의 주소를 저장합니다. 따라서 `pary`는 `ary1`, `ary2`, `ary3`를 가리키는 포인터의 배열이 되며, 각 포인터는 해당 배열의 첫 번째 요소를 가리킵니다.
### 요소 출력
- 2중 for 루프를 사용하여 `pary` 배열에 저장된 포인터를 순회합니다. 외부 루프(`i`)는 포인터 배열의 각 요소(즉, 각 배열을 가리키는 포인터)를 순회하고, 내부 루프(`j`)는 각 배열의 요소를 순회합니다.
- `printf("%5d", pary[i][j]);`를 사용하여 각 배열의 요소를 출력합니다. 이때 `%5d` 형식 지정자는 각 정수를 최소 너비 5칸에 오른쪽 정렬하여 출력하도록 합니다. 이로 인해 출력이 깔끔하게 정렬됩니다.
- 각 내부 루프의 반복이 끝날 때마다 `printf("\n");`을 사용하여 새 줄로 넘어갑니다. 이렇게 하여 각 배열의 요소들이 각각 새로운 줄에 출력됩니다.
### 프로그램 종료
- `return 0;`을 사용하여 프로그램이 성공적으로 실행되었음을 나타내며 프로그램을 종료합니다.
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 14) 학생 3명의 네 과목 총점과 평균을 구하는 프로그램 (0) | 2024.09.06 |
---|---|
chapter 14) 포인터 배열로 여러 개의 문자열 출력 (0) | 2024.09.05 |
chapter 14) 여러 개의 동물 이름을 입출력하는 프로그램 (0) | 2024.09.03 |
chapter 13) 10을 더하기 위해 값을 인수로 주는 경우 (0) | 2024.09.02 |
chapter 13) 포인터를 써서 변수의 값에 10을 더하는 경우 (0) | 2024.09.01 |