Maison  >  Article  >  développement back-end  >  Quel est l’ordre dans lequel les tableaux bidimensionnels sont stockés en mémoire en langage C ?

Quel est l’ordre dans lequel les tableaux bidimensionnels sont stockés en mémoire en langage C ?

coldplay.xixi
coldplay.xixioriginal
2020-06-28 10:33:078233parcourir

En langage C, l'ordre de stockage des tableaux bidimensionnels en mémoire se fait par ligne. Le tableau bidimensionnel A[m][n] est un tableau bidimensionnel avec m lignes et n colonnes. a[p][q] est le premier élément de A, c'est-à-dire que les indices de ligne du tableau bidimensionnel vont de p à [m+p] et les indices de colonne vont de q à [n+q].

Quel est l’ordre dans lequel les tableaux bidimensionnels sont stockés en mémoire en langage C ?

Dans le langage C, les éléments d'un tableau bidimensionnel sont stockés ligne par ligne en mémoire.

Tableau bidimensionnel A[m][n], qui est un tableau bidimensionnel avec m lignes et n colonnes. Soit a[p][q] le premier élément de A, c'est-à-dire que les indices de ligne du tableau bidimensionnel vont de p à m+p et les indices de colonne vont de q à n+q lorsqu'ils sont stockés dans. "ordre majeur des lignes", alors L'adresse de l'élément a[i][j] est calculée comme :

LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t;

Lorsqu'elle est stockée dans "l'ordre majeur des colonnes", l'adresse est calculée comme :

LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t;

Le nombre minimum de cellules requis pour stocker le tableau est de (m-p+1) * (n-q+1) * t octets.

Informations détaillées :

Tableau bidimensionnel dynamique C++ :

Prenons le plastique comme exemple, row est le nombre de lignes, col est le nombre de colonnes

int **data;//Pointeur de stockage d'un tableau bidimensionnel, pointeur vers pointeur. L'adresse de

date=x[0][0] sera ainsi mieux indiquée. Parce que le résultat de sizeof(date) est 4, il est impossible de stocker un tableau bidimensionnel.

//以下实现如何申请内存
data = new int *[row];
for (int k = 0; k < row; k++)
{
data[k] = new int[col];
}
rrree

Tutoriel recommandé : "c tutoriel vidéo"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn