Maison > développement back-end > C++ > le corps du texte

Comment convertir un tableau 2D en pointeur à pointeur en C ?

Linda Hamilton
Libérer: 2024-11-12 10:07:01
original
778 Les gens l'ont consulté

How to Convert a 2D Array to a Pointer-to-Pointer in C  ?

Conversion d'un tableau 2D en pointeur en pointeur

Considérez le scénario suivant :

Activity solution[a][b];
// ...
Activity **mother = solution;
Copier après la connexion

Dans Dans cette situation, vous souhaiterez peut-être convertir un tableau d'objets 2D en pointeur à pointeur. Cependant, la conversion directe n'est pas possible en raison de l'incompatibilité des types.

Présentation d'un tableau intermédiaire

Pour combler l'écart, introduisez un tableau intermédiaire « d'index de ligne » :

Activity solution[a][b];

Activity *solution_rows[a] = { solution[0], solution[1] /* and so on */ };

Activity **mother = solution_rows;
Copier après la connexion

Cela permet d'accéder aux éléments de la manière suivante :

mother[i][j] = solution[i][j]
Copier après la connexion

Comprendre la conversion

la solution[i] est une pointeur vers la ième ligne du tableau 2D. solution_rows est un tableau de ces pointeurs de ligne. Par conséquent, solution_rows[i] est équivalent à solution[i].

Lorsque vous attribuez solution_rows à mother, vous créez effectivement un pointeur vers pointeur qui pointe vers les premiers éléments de chaque ligne de la solution.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal