C 언어에서 2차원 배열을 사용하는 방법: 먼저 C 언어 스크립트 파일을 열고 2차원 배열을 정의한 다음 사용자 정의 함수를 호출하여 두 열의 최소값 합계를 구합니다. -차원 배열; 최종적으로 반환 값을 전달합니다. 출력하려면 기본 함수로 돌아갑니다.
C언어 학습에 있어서 기초에서는 2차원 배열이 더 중요한 내용이라고 볼 수 있습니다. 이번 글에서는 주로 C언어에서 2차원 배열을 사용하는 내용을 다루는데 도움이 되었으면 좋겠습니다. 너.
2차원 배열 정의의 일반적인 형태
유형 지정자 배열 이름 [상수 표현식][상수 표현식];
예:
int arr[3][4]
은 3×4가 정의됨을 의미합니다. 3개 행 4개의 열과 총 12개의 요소가 있는 배열 a입니다. 이 12개 요소의 이름은 다음과 같습니다: a[0][0], a[0][1], a[0][2], a[0][3], a [ 1][1], a[1][2], a[1][3], a[2][0], a[2][1], a[2][2], a[2 ] [3].
1차원 배열과 마찬가지로 행 번호와 열 번호의 첨자는 0부터 시작합니다. 요소 a[i][j]는 i+1행과 j+1열의 요소를 나타냅니다. int a[m][n] 배열의 최대 범위에 있는 요소는 a[m–1][n–1]입니다. 따라서 배열 요소를 참조할 때 아래 첨자 값이 정의된 배열 크기 범위 내에 있어야 한다는 점에 주의해야 합니다.
그 밖에도 1차원 배열과 마찬가지로 배열을 정의할 때 사용하는 "배열명[상수식][상수식]"과 배열 요소를 참조할 때 사용하는 "배열명[하첨자][하첨자]"가 있습니다. 차이점. 전자는 배열을 정의하고 배열의 차원 수와 각 차원의 크기를 정의하는 것입니다. 후자는 좌표와 마찬가지로 특정 요소에 해당하는 요소의 첨자일 뿐입니다.
2차원 배열 초기화
1) 다음과 같이 2차원 배열에 초기값을 할당합니다.
int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
초기값을 할당하는 이 방법은 각 행을 다음과 같이 처리합니다. 요소를 선택하고 행 단위로 초기 값을 할당합니다.
2) 중괄호 안에 모든 데이터를 쓰고 배열 배열 순서대로 각 요소에 초기값을 할당할 수도 있습니다. 예:
int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
3) 일부 요소에만 초기값을 할당할 수도 있습니다. 예:
int a[3][4] = {{1, 2}, {5}, {9}};
4) 배열을 정의할 때 모든 요소에 초기값을 할당하면, 즉 완전히 초기화되면 첫 번째 차원의 길이는 지정할 필요가 없지만 두 번째 차원의 길이는 지정할 수 없습니다. 생략. 예:
int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
는
int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
와 동일합니다. 시스템은 총 데이터 수와 두 번째 차원의 길이를 기반으로 첫 번째 차원의 길이를 계산합니다. 그러나 이러한 생략 쓰기 방식은 가독성이 좋지 않아 거의 사용되지 않습니다.
5) 2차원 배열은 다음과 같이 "삭제"되고 그 안에 있는 각 요소는 0입니다.
int a[3][4]={0};
2차원 배열을 입력하고 출력하는 방법
1차원 배열에서 , for 루프는 입력과 출력에 사용되며 2차원 배열 요소의 입력과 출력은 두 개의 for 루프를 사용하여 중첩되어야 합니다.
아래에는 연습에 사용할 수 있는 작은 예가 있습니다.
//输入一个3行4列的二维数组的元素值 //调用一个自定义函数求二维数组每列元素中的最小值的和值 //和值通过返回值传回主函数输出 #include "stdio.h" int sum(int arr[3][4])//定义一个二维数组 { int sum = 0; for (int i = 0; i < 4; i++) { int min = arr[0][i]; for (int j = 1; j < 3; j++)//找出每列最小元素 if (min > arr[j][i]) min = arr[j][i]; sum += min;//每列最小元素相加 } return sum; } int main() { int arr[3][4]; for (int i = 0; i < 3; i++) //行 for (int j = 0; j < 4; j++)//列 scanf("%d", &arr[i][j]); //输入数组元素 int r = sum(arr); printf("%d\n", r);//输出每列最小元素之和 return 0; }
얻은 결과:
1 2 3 4 0 2 5 9 0 1 3 -1 3
관련 튜토리얼: C 비디오 튜토리얼
위 내용은 C 언어에서 2차원 배열을 어떻게 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!