728x90
반응형
2023.02.15 최초작성
아래 코드는 int 타입의 1차원 배열을 사용한 예제이다.
#include <stdio.h>
void main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int a = 10;
int* ap = &a;
int* arrp[5] = {&a, ap, arr, arr+3, &arr[5]};
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
for (int i = 0; i < 10; i++) {
printf("%d ", *(arr+i));
}
printf("\n");
for (int i = 0; i < 5; i++) {
printf("%d ", *arrp[i]);
}
printf("\n");
for (int i = 0; i < 5; i++) {
printf("%d ", **(arrp+i));
}
}
[실행 결과]
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
10 10 1 4 6
10 10 1 4 6
아래 코드는 int 타입의 2차원 배열을 사용한 예제이다.
#include <stdio.h>
void main() {
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int* ap = arr;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
for (int j = 0; j < sizeof(arr[0]) / sizeof(int); j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("\n");
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
for (int j = 0; j < sizeof(arr[0]) / sizeof(int); j++) {
printf("%d ", *(arr[i]+j));
}
printf("\n");
}
printf("\n");
for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
printf("%d ", *(*arr+ i));
}
printf("\n");
for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
printf("%d ", *(ap + i));
}
}
[실행 결과]
1 2 3 4
5 6 7 8
9 10 11 12
1 2 3 4
5 6 7 8
9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12
아래 코드는 int 타입의 3차원 배열을 사용한 예제이다.
#include <stdio.h>
void main() {
int arr[2][3][4] = {
{
{1,2,3,4}, {5,6,7,8}, {9,10,11,12}
},
{
{13,14,15,16}, {17,18,19,20}, {21,22,23,24}
}
};
int* ap = arr;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
for (int j = 0; j < sizeof(arr[0]) / sizeof(arr[0][0]); j++) {
for (int k = 0; k < sizeof(arr[0][0]) / sizeof(int); k++) {
printf("%d ", arr[i][j][k]);
}
printf("\n");
}
printf("\n");
}
printf("\n");
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
for (int j = 0; j < sizeof(arr[0]) / sizeof(arr[0][0]); j++) {
for (int k = 0; k < sizeof(arr[0][0]) / sizeof(int); k++) {
printf("%d ", *(arr[i][j]+k));
}
printf("\n");
}
printf("\n");
}
printf("\n");
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
for (int j = 0; j < sizeof(arr[0]) / sizeof(int); j++) {
printf("%d ", *(*arr[i]+j));
}
printf("\n");
}
printf("\n");
for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
printf("%d ", *(**arr+i));
}
printf("\n");
for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
printf("%d ", *(ap + i));
}
}
[실행 결과]
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20 21 22 23 24
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
728x90
반응형
728x90
반응형
'프로그래밍 > C' 카테고리의 다른 글
병합 정렬 C언어 코드 (0) | 2023.02.16 |
---|---|
삽입 정렬 C언어 코드 (0) | 2023.02.16 |
C언어 동적할당 malloc, calloc, realloc, free (0) | 2023.01.20 |
C언어 구조체 포인터 (0) | 2023.01.19 |
C언어 함수 포인터 (0) | 2023.01.19 |