> 백엔드 개발 > C#.Net 튜토리얼 > C 언어에서 2차원 배열을 어떻게 사용하나요?

C 언어에서 2차원 배열을 어떻게 사용하나요?

little bottle
풀어 주다: 2020-09-10 13:13:44
원래의
19519명이 탐색했습니다.

C 언어에서 2차원 배열을 사용하는 방법: 먼저 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿