Tutorial avanzado de lenguaje C - Matriz de lenguaje C (4): Matriz multidimensional

inserte la descripción de la imagen aquí

1. El entorno de compilación de este artículo.

El entorno de compilación de este artículo utiliza un entorno de desarrollo integrado: Visual Studio 2019
inserte la descripción de la imagen aquí

El enlace al sitio web oficial de Visual Studio 2019 es el siguiente

Enlace al sitio web oficial de Visual Studio 2019
inserte la descripción de la imagen aquí

Las características del entorno de desarrollo integrado de Visual Studio 2019 son

  • Visual Studio 2019 instala el servicio de colaboración de código Live Share de forma predeterminada.
  • Nueva ventana de bienvenida para ayudar a los usuarios a escribir código rápidamente, funcionalidad de búsqueda mejorada, mejoras de rendimiento general.
  • Ayuda de Visual Studio IntelliCode AI.
  • Mejor virtualización de Python y compatibilidad con Conda.
  • Y soporte para proyectos .NET Core 3.0, incluidos WinForms y WPF, etc.

2. Declaración de matriz bidimensional

Una matriz bidimensional se puede declarar de la siguiente manera

float carrots[25][50];
  • Esta línea de declaración declara una matriz zanahorias, que contiene 25 líneas de 50 elementos de coma flotante.
  • Tenga en cuenta que cada dimensión está encerrada entre corchetes.

De manera similar, se puede declarar otra matriz bidimensional de números de coma flotante con la siguiente declaración

float numbers[3][5];

Al igual que con las verduras en el campo, es conveniente tener estas matrices dispuestas en un rectángulo. Al organizar esta matriz en 3 filas y 5 columnas,
en realidad se almacenan en la memoria en orden de fila.

Como se muestra abajo

  • Cómo se organiza la matriz de 3 filas y 5 columnas de elementos en la memoria
    inserte la descripción de la imagen aquí

  • Es fácil ver que el índice más a la derecha cambia más rápido. Conceptualmente, un índice a la izquierda selecciona una fila y un índice a la derecha selecciona un elemento en esa fila.

  • El diagrama anterior ilustra cómo pensar en una matriz bidimensional como una matriz unidimensional, donde cada elemento es en sí mismo una matriz unidimensional.

  • La matriz de números se puede considerar como una matriz unidimensional de 3 elementos, cada elemento de la matriz contiene 5 elementos de tipo flotante.

  • Los 5 elementos flotantes de la primera fila están ubicados en la dirección de memoria marcada con números [0], los 5 elementos flotantes de la segunda fila están ubicados en números [1] y los 5 elementos de la última fila están ubicados en números [2]. ].

  • Por supuesto, la cantidad de memoria asignada a cada elemento depende del tipo de variables que contiene la matriz.

  • Los arreglos de tipo double requieren más memoria que los arreglos de tipo float o int.

La siguiente figura ilustra numbers[4][10]cómo se almacena la matriz, la matriz tiene 4 filas de 10 elementos de tipo flotante

inserte la descripción de la imagen aquí

  • Debido a que el tipo del elemento de la matriz es flotante, ocupa 4 bytes en la máquina y la memoria total ocupada por esta matriz es 4X10X4 bytes, que son 160 bytes.

3. Declaración de matriz tridimensional

Los arreglos tridimensionales son una extensión de los arreglos bidimensionales:

double beans[4] [10] [20]; // 4 fields, each with 10 rows of 20 beans
  • La matriz declarada por esta instrucción tiene 800 elementos, que pueden considerarse como almacenamiento de la producción de plantas de frijol. Hay tres campos de plantas de frijol
    , y cada campo contiene 10 filas y 20 columnas de plantas.
  • Las matrices multidimensionales arbitrarias se pueden definir como se desee.

4. Resultados de la compilación del programa de declaración de matriz

El resultado de compilación del programa de declaración de matriz es el siguiente

已启动重新生成…
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==========

El resultado de ejecutar el programa compilado es el siguiente

inserte la descripción de la imagen aquí

Five, el programa completo

El programa completo de este artículo es el siguiente

5.1 Programa de archivo Main.h

#ifndef MAIN_H
#define MAIN_H


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


#endif

5.2 Programa de archivos 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. Resumen

inserte la descripción de la imagen aquí

Este artículo presenta principalmente la forma de declarar matrices multidimensionales de matrices en programación avanzada en lenguaje C.
Introdujo el método de declaración de matriz bidimensional.
Introdujo el método de declaración de matriz bidimensional.

Este artículo termina aquí.

  • Espero que la matriz multidimensional de la matriz de lenguaje C en este artículo.
  • puedo ayudarte.

Supongo que te gusta

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