"C언어 3차원 배열 파라미터로 넘기기"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
3번째 줄: 3번째 줄:


==int a[2][2][3] ★★==
==int a[2][2][3] ★★==
<source lang='c' run>
<syntaxhighlight lang='c' run>
#include<stdio.h>
#include<stdio.h>
void print(int a[2][2][3]) {
void print(int a[2][2][3]) {
18번째 줄: 18번째 줄:
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
}
}
</source>
</syntaxhighlight>


==int a[][2][3] ★★==
==int a[][2][3] ★★==
<source lang='c' run>
<syntaxhighlight lang='c' run>
#include<stdio.h>
#include<stdio.h>
void print(int a[][2][3]) {
void print(int a[][2][3]) {
36번째 줄: 36번째 줄:
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
}
}
</source>
</syntaxhighlight>


==int (*a)[2][3]==
==int (*a)[2][3]==
<source lang='c' run>
<syntaxhighlight lang='c' run>
#include<stdio.h>
#include<stdio.h>
void print(int (*a)[2][3]) {
void print(int (*a)[2][3]) {
54번째 줄: 54번째 줄:
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
}
}
</source>
</syntaxhighlight>


==int* a==
==int* a==
<source lang='c' run>
<syntaxhighlight lang='c' run>
#include<stdio.h>
#include<stdio.h>
void print(int *a) {
void print(int *a) {
72번째 줄: 72번째 줄:
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
}
}
</source>
</syntaxhighlight>
<source lang='c' run>
<syntaxhighlight lang='c' run>
#include<stdio.h>
#include<stdio.h>
void print(int *a) {
void print(int *a) {
89번째 줄: 89번째 줄:
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
}
}
</source>
</syntaxhighlight>


==void* a ★★==
==void* a ★★==
<source lang='c' run>
<syntaxhighlight lang='c' run>
#include<stdio.h>
#include<stdio.h>
void print(void *a) {
void print(void *a) {
107번째 줄: 107번째 줄:
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
}
}
</source>
</syntaxhighlight>
<source lang='c' run>
<syntaxhighlight lang='c' run>
#include<stdio.h>
#include<stdio.h>
void print(void *a) {
void print(void *a) {
124번째 줄: 124번째 줄:
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , |  
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==

2020년 11월 2일 (월) 02:41 기준 최신판

1 개요[ | ]

C언어 3차원 배열 파라미터로 넘기기

2 int a[2][2][3] ★★[ | ]

#include<stdio.h>
void print(int a[2][2][3]) {
    for(int i=0; i<2; i++) {
        for(int j=0; j<2; j++) {
            for(int k=0; k<3; k++) printf("%d ", a[i][j][k]);
            printf(", ");
        }
        printf("| ");
    }
}
int main() {
   int arr[2][2][3] = { {{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}} };
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , | 
}

3 int a[][2][3] ★★[ | ]

#include<stdio.h>
void print(int a[][2][3]) {
    for(int i=0; i<2; i++) {
        for(int j=0; j<2; j++) {
            for(int k=0; k<3; k++) printf("%d ", a[i][j][k]);
            printf(", ");
        }
        printf("| ");
    }
}
int main() {
   int arr[2][2][3] = { {{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}} };
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , | 
}

4 int (*a)[2][3][ | ]

#include<stdio.h>
void print(int (*a)[2][3]) {
    for(int i=0; i<2; i++) {
        for(int j=0; j<2; j++) {
            for(int k=0; k<3; k++) printf("%d ", a[i][j][k]);
            printf(", ");
        }
        printf("| ");
    }
}
int main() {
   int arr[2][2][3] = { {{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}} };
   print(arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , | 
}

5 int* a[ | ]

#include<stdio.h>
void print(int *a) {
    for(int i=0; i<2; i++) {
        for(int j=0; j<2; j++) {
            for(int k=0; k<3; k++) printf("%d ", *(a+6*i+3*j+k));
            printf(", ");
        }
        printf("| ");
    }
}
int main() {
   int arr[2][2][3] = { {{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}} };
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , | 
}
#include<stdio.h>
void print(int *a) {
    int (*b)[2][3] = (void*)a;
    for(int i=0; i<2; i++) {
        for(int j=0; j<2; j++) {
            for(int k=0; k<3; k++) printf("%d ", b[i][j][k]);
            printf(", ");
        }
        printf("| ");
    }
}
int main() {
   int arr[2][2][3] = { {{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}} };
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , | 
}

6 void* a ★★[ | ]

#include<stdio.h>
void print(void *a) {
    for(int i=0; i<2; i++) {
        for(int j=0; j<2; j++) {
            for(int k=0; k<3; k++) printf("%d ", *((int*)a+6*i+3*j+k));
            printf(", ");
        }
        printf("| ");
    }
}
int main() {
   int arr[2][2][3] = { {{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}} };
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , | 
}
#include<stdio.h>
void print(void *a) {
    int (*b)[2][3] = a;
    for(int i=0; i<2; i++) {
        for(int j=0; j<2; j++) {
            for(int k=0; k<3; k++) printf("%d ", b[i][j][k]);
            printf(", ");
        }
        printf("| ");
    }
}
int main() {
   int arr[2][2][3] = { {{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}} };
   print((int*)arr); // 1 2 3 , 4 5 6 , | 7 8 9 , 10 11 12 , | 
}

7 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}