English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Notas de experiencia

Entrada y salida de C (I

Funciones de C

Arreglos de C

Punteros de C

Cadenas de C

O)

Control de flujo de C

Estructura de C

Archivo de C

Arreglos de C

C Otros

Manual de Referencia de C10En este tutorial, aprenderá a usar arrays. Aprenderá mediante ejemplos cómo declarar, inicializar y acceder a los elementos del array.

Un array es una variable que puede almacenar múltiples valores. Por ejemplo, si se desea almacenar100 enteros, se puede crear un array para ellos.

int data[

¿Cómo declarar un array?

dataType arrayName[arraySize];

Por ejemplo,5];

float mark[5Aquí, declaramos un array de tipo flotante mark. Su tamaño es5. Esto significa que puede contener

valores de punto flotante.Es necesario prestar atención a.

El tamaño y tipo del array no pueden cambiarse una vez declarados

Acceder a los elementos del array

Puede acceder a los elementos del array por índice.1Supongamos que ha declarado un array como se mencionó anteriormente mark. El primer elemento es mark[0], el segundo elemento es mark[

] y así sucesivamente.Explicación

  • :1El primer índice del array es 0, en lugar de

  • ]. En este ejemplo, el primer elemento del array es mark[0].-1Si el tamaño del array es, para acceder al último elemento, n4Entonces, se usa el índice. En este ejemplo, el primer elemento del array es mark[

  • ]212] suponiendo que la dirección de inicio de mark[0] es0d1. Luego, la dirección de mark[2124] será] será2. Del mismo modo, la dirección de mark[2128] serád
    etc..4bytes. Esto se debe a que el tamaño de a es float

¿Cómo inicializar un array?

Se puede inicializar el array durante la declaración. Por ejemplo,

int mark[5]={19, 10, 8, 17, 9};

También puede inicializar un array de esta manera.

int mark[] = {19, 10, 8, 17, 9};

Aquí, no especificamos el tamaño. Pero cuando usamos5al inicializar un elemento, el compilador sabe su tamaño es5.

Aquí,

mark[0] es igual a 19
mark[1] es igual a 10
mark[2] es igual a 8
mark[3] es igual a 17
mark[4] es igual a 9

Cambiar el valor del elemento del array

int mark[5]={19, 10, 8, 17, 9}
//Hacer que el valor del tercer elemento sea-1
mark[2]= -1;
//Hacer que el valor del quinto elemento sea 0
mark[4]=0;

Elementos de entrada y salida del array

Este es el método de obtener la entrada del usuario y almacenarla en el elemento del array.

// 获取输入并将其存储在第三个元素中
scanf("%d", &mark[2]);
// 把输入存储在第i个元素中
scanf("%d", &mark[i-1]);

这是打印数组单个元素的方法。

//打印数组的第一个元素
printf("%d", mark[0]);
//打印数组的第三个元素
printf("%d", mark[2]);
//打印数组的第i个元素
printf("%d", mark[i-1]);

示例1:数组输入/输出

//程序从用户那里获取5个值并将它们存储在数组中
//打印存储在数组中的元素
#include 
int main() {
  int values[5];
  printf("输入5个整数: ");
  //接受输入并将其存储在数组中
  for(int i = 0; i < 5; ++i) {
     scanf("%d", &values[i]);
  }
  printf("显示整数: ");
  //打印数组的元素
  for(int i = 0; i < 5; ++i) {
     printf("%d\n", values[i]);
  }
  return 0;
}

输出结果

输入5个整数: 1
-3
34
0
3
显示整数: 1
-3
34
0
3

在这里,我们使用了一个  for循环,来从用户那里获取5个输入的数值,并将它们存储在一个数组中。然后,使用另一个 for循环,这些元素显示在屏幕上。

示例2:计算平均值

//程序使用数组查找n个数字的平均值
#include 
int main()
{
     int marks[10], i, n, sum = 0, average;
     printf("输入元素数量: ");
     scanf("%d", &n);
     for(i=0; i

输出结果

输入元素数量: 5
输入数字1: 45
输入数字2: 35
输入数字3: 38
输入数字4: 31
输入数字5: 49
平均值 = 39

在这里,我们计算了用户输入的n个数字的平均值。

访问元素超出范围!

Supongamos que ha declarado un array por10Un array compuesto por

int testArray[10];

Puede acceder al elemento del array testArray[0] - testArray[9]。

Ahora, supongamos que intenta acceder a testArray[12]。El elemento no está disponible. Esto podría causar una salida inesperada (lanzar un error).

Por lo tanto, nunca acceda a elementos fuera de los límites del array.

Arreglos multidimensionales

En este tutorial, ha aprendido sobre arreglos. Estos se denominan arreglos unidimensionales.

En el siguiente tutorial, aprenderáArreglos multidimensionales (arreglos de arreglos).