Home  >  Article  >  Backend Development  >  How to use two-dimensional array in C language?

How to use two-dimensional array in C language?

little bottle
little bottleOriginal
2019-04-29 15:50:2919424browse

How to use a two-dimensional array in c language: first open the c language script file and define a two-dimensional array; then call a custom function to find the sum of the minimum values ​​in each column of the two-dimensional array; finally Just pass the return value back to the main function output.

How to use two-dimensional array in C language?

In the learning of C language, two-dimensional arrays can be regarded as a more important content in the basics. This article mainly talks about the use of two-dimensional arrays in C language How to use it, I hope it can help you.

General form of two-dimensional array definition

Type specifier array name[constant expression][constant expression];

For example:

int arr[3][4]

means defining a 3×4 array a, that is, 3 rows and 4 columns with a total of 12 elements. The names of these 12 elements are: a[0][0], a[0][1], a[0][2], a[0][3]; a[1][0], a [1][1], a[1][2], a[1][3]; a[2][0], a[2][1], a[2][2], a[2 ][3].

Like a one-dimensional array, the subscripts of row numbers and column numbers start from 0. Element a[i][j] represents the element of row i 1 and column j 1. The element at the maximum range of the array int a[m][n] is a[m–1][n–1]. So when referencing array elements, care should be taken that the subscript value should be within the range of the defined array size.

In addition, like a one-dimensional array, the "array name [constant expression] [constant expression]" used when defining an array and the "array name [subscript][" used when referencing array elements subscript]" is different. The former is to define an array, as well as the number of dimensions of the array and the size of each dimension. The latter is just the subscript of the element, which, like coordinates, corresponds to a specific element.

Two-dimensional array initialization
1) Assign initial values ​​to the two-dimensional array in separate lines, such as:

int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};

This kind of initialization The value method is more intuitive, treating each row as an element and assigning initial values ​​by row.
2) You can also write all the data within a curly brace, and assign initial values ​​to each element in the order of array arrangement. For example:

int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

3) You can also assign initial values ​​to only some elements. For example:

int a[3][4] = {{1, 2}, {5}, {9}};

4) If all elements are assigned initial values ​​when defining the array, that is, fully initialized, the length of the first dimension does not need to be specified, but the length of the second dimension cannot be omitted. For example:

int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

is equivalent to:

int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

The system will calculate the length of the first dimension based on the total number of data and the length of the second dimension. However, this omitted writing method is rarely used because of poor readability.
5) The two-dimensional array is "cleared", and each element in it is zero, as follows:

int a[3][4]={0};

How to input and output the two-dimensional array

In a one-dimensional array, a for loop is used for input and output, while for the input and output of two-dimensional array elements, two for loops are nested.

There is a small example below that you can use to practice:

//输入一个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;
}

Results achieved:

1 2 3 4
0 2 5 9
0 1 3 -1
3

Related tutorials: C video tutorial

The above is the detailed content of How to use two-dimensional array in C language?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn