Tutorial Avançado da Linguagem C - Array da Linguagem C (4): Array Multidimensional

insira a descrição da imagem aqui

1. O ambiente de compilação deste artigo

O ambiente de compilação deste artigo usa um ambiente de desenvolvimento integrado: Visual Studio 2019
insira a descrição da imagem aqui

O link para o site oficial do Visual Studio 2019 é o seguinte

Link do site oficial do Visual Studio 2019
insira a descrição da imagem aqui

Os recursos do ambiente de desenvolvimento integrado do Visual Studio 2019 são

  • O Visual Studio 2019 instala o serviço de colaboração de código Live Share por padrão.
  • Nova janela de boas-vindas para ajudar os usuários a escrever código rapidamente, funcionalidade de pesquisa aprimorada, melhorias gerais de desempenho.
  • Ajuda do Visual Studio IntelliCode AI.
  • Melhor virtualização Python e suporte Conda.
  • E suporte para projetos .NET Core 3.0, incluindo WinForms e WPF, etc.

2. Declaração de matriz bidimensional

Uma matriz bidimensional pode ser declarada da seguinte forma

float carrots[25][50];
  • Esta linha de instrução declara uma matriz cenouras, que contém 25 linhas de 50 elementos de ponto flutuante.
  • Observe que cada dimensão é incluída em seus próprios colchetes.

Da mesma forma, outra matriz bidimensional de números de ponto flutuante pode ser declarada com a seguinte instrução

float numbers[3][5];

Tal como acontece com as hortaliças do campo, é conveniente ter essas matrizes dispostas em um retângulo. Organizando esta matriz em 3 linhas e 5 colunas,
elas são realmente armazenadas na memória na ordem das linhas.

Como mostrado abaixo

  • Como a matriz de 3 linhas e 5 colunas de elementos é organizada na memória
    insira a descrição da imagem aqui

  • É fácil ver que o índice mais à direita muda mais rapidamente. Conceitualmente, um índice à esquerda seleciona uma linha e um índice à direita seleciona um elemento nessa linha.

  • O diagrama acima ilustra como pensar em uma matriz bidimensional como uma matriz unidimensional, onde cada elemento é em si uma matriz unidimensional.

  • A matriz numérica pode ser considerada como uma matriz unidimensional de 3 elementos, cada elemento na matriz contém 5 elementos do tipo float.

  • Os 5 elementos flutuantes da primeira linha estão localizados no endereço de memória marcado como números[0], os 5 elementos flutuantes da segunda linha estão localizados em números[1] e os 5 elementos da última linha estão localizados em números[2 ].

  • Obviamente, a quantidade de memória alocada para cada elemento depende do tipo de variáveis ​​que o array contém.

  • Arrays do tipo double requerem mais memória do que arrays do tipo float ou int.

A figura abaixo ilustra numbers[4][10]como o array é armazenado, o array possui 4 linhas de 10 elementos do tipo float

insira a descrição da imagem aqui

  • Como o tipo do elemento do array é float, ele ocupa 4 bytes na máquina, e a memória total ocupada por esse array é 4X10X4 bytes, ou seja, 160 bytes.

3. Declaração de matriz tridimensional

Arrays tridimensionais são uma extensão de arrays bidimensionais:

double beans[4] [10] [20]; // 4 fields, each with 10 rows of 20 beans
  • A matriz declarada por esta instrução tem 800 elementos, que podem ser considerados como armazenando a saída de plantas de feijão.Existem três campos de plantas de feijão
    , e cada campo contém 10 linhas e 20 colunas de plantas.
  • Matrizes multidimensionais arbitrárias podem ser definidas conforme desejado.

4. Resultados da compilação do programa de declaração de matriz

O resultado da compilação do programa de declaração de matriz é o seguinte

已启动重新生成…
1>------ 已启动全部重新生成: 项目: 5.4-多维数组, 配置: Debug Win32 ------
1>Main.c
1>E:\Document\2-programmLanguageExper\C\C语言入门经典\C语言入门经典\5.4-多维数组\Main.c(10,8): warning C4101: “carrots”: 未引用的局部变量
1>E:\Document\2-programmLanguageExper\C\C语言入门经典\C语言入门经典\5.4-多维数组\Main.c(11,8): warning C4101: “numbers”: 未引用的局部变量
1>E:\Document\2-programmLanguageExper\C\C语言入门经典\C语言入门经典\5.4-多维数组\Main.c(14,9): warning C4101: “beans”: 未引用的局部变量
1>5.4-多维数组.vcxproj -> E:\Document\2-programmLanguageExper\C\C语言入门经典\C语言入门经典\Debug\5.4-多维数组.exe
1>已完成生成项目“5.4-多维数组.vcxproj”的操作。
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0==========

O resultado da execução do programa compilado é o seguinte

insira a descrição da imagem aqui

Cinco, o programa completo

O programa completo para este artigo é o seguinte

5.1 Programa de arquivo Main.h

#ifndef MAIN_H
#define MAIN_H


#include <stdio.h>
#include <stdlib.h>


#endif

5.2 Programa de arquivo Main.c

#define _CRT_SECURE_NO_WARNINGS

#include "Main.h"

int main()
{
    
    
	system("color 3E");

	// 二维数组的声明
	float carrots[25][50];
	float numbers[3][5];

	// 三维数组的声明
	double beans[4][10][20]; // 4 fields, each with 10 rows of 20 beans

	system("pause");
	return 0;
}

6. Resumo

insira a descrição da imagem aqui

Este artigo apresenta principalmente a maneira de declarar matrizes multidimensionais de matrizes na programação avançada da linguagem C.
Introduzido o método de declaração de matriz bidimensional.
Introduzido o método de declaração de matriz bidimensional.

Este artigo termina aqui.

  • Espero que a matriz multidimensional da matriz de linguagem C neste artigo.
  • pode ajudá-lo.

Acho que você gosta

Origin blog.csdn.net/m0_47419053/article/details/127342213
Recomendado
Clasificación