Latest web development tutorials

C array multidimensionali

serie C serie C

supporto linguaggio C array multidimensionali. La forma generale di una dichiarazione array multidimensionale è la seguente:

type name[size1][size2]...[sizeN];

Ad esempio, la seguente istruzione crea una matrice tridimensionale di 5104 interi .:

int threedim[5][10][4];

array bidimensionale

La forma più semplice di un array multidimensionale è un array bidimensionale. Una matrice bidimensionale, in sostanza, è una lista di array monodimensionale. X colonna fila Y dichiarato un array bidimensionale di interi nella forma qui sotto:

type arrayName [ x ][ y ];

In cui, tipo può essere qualsiasi tipodi dati Cvalidi,ArrayName è un identificatore C valido. Un array bidimensionale può essere considerata una fila forma x e y colonna con. Ecco un array bidimensionale contenente 3 righe e 4:

array bidimensionale in C

Così, ogni elemento della matrice è l'uso della forma a [i, j] nomi degli elementi per identificare dove un nome è un array, i, e j è l'identificatore univoco in pedice di ogni elemento.

inizializzazione array bidimensionale

array multidimensionali possono essere inizializzati in parentesi per il valore specificato per ogni riga. Ecco una serie di quattro righe con 3.

int a[3][4] = {  
 {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
 {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
 {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
};

All'interno parentesi nidificate sono facoltative, la seguente inizializzazione è equivalente a quanto sopra:

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

Bidimensionale accesso elemento dell'array

elemento di matrice bidimensionale utilizzando il pedice (cioè, l'indice di riga di matrice e l'indice di colonna) da fare. Ad esempio:

int val = a[2][3];

La dichiarazione di cui sopra otterrà i primi quattro elementi della matrice sulla linea 3. Si può essere verificato dal diagramma sopra. Diamo un'occhiata al seguente programma, useremo un ciclo nidificato per elaborare array bidimensionale:

#include <stdio.h>
 
int main ()
{
   /* 一个带有 5 行 2 列的数组 */
   int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};
   int i, j;
 
   /* 输出数组中每个元素的值 */
   for ( i = 0; i < 5; i++ )
   {
      for ( j = 0; j < 2; j++ )
      {
         printf("a[%d][%d] = %d\n", i,j, a[i][j] );
      }
   }
   return 0;
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

a[0][0]: 0
a[0][1]: 0
a[1][0]: 1
a[1][1]: 2
a[2][0]: 2
a[2][1]: 4
a[3][0]: 3
a[3][1]: 6
a[4][0]: 4
a[4][1]: 8

Come descritto in precedenza, è possibile creare array di qualsiasi dimensione, ma in circostanze normali, abbiamo creato un array di array monodimensionali e array bidimensionale.

serie C serie C