Maison > développement back-end > C++ > Comment simuler des tableaux irréguliers en C et C ?

Comment simuler des tableaux irréguliers en C et C ?

DDD
Libérer: 2024-11-06 04:54:02
original
610 Les gens l'ont consulté

How to Simulate Jagged Arrays in C and C  ?

Tableaux Jagged en C et C

On peut rencontrer le terme « tableau Jagged » dans les discussions sur les langages de programmation. Cependant, ce concept n'est pas intrinsèquement pris en charge en C ou C . Les tableaux irréguliers font référence à un tableau dans lequel chaque élément peut être un tableau de longueur variable.

Dans l'exemple de code donné, une tentative est faite pour déclarer un tableau irrégulier en utilisant la syntaxe suivante :

<code class="c">int jagged[][] = { {0,1}, {1,2,3} };</code>
Copier après la connexion

Cependant, C génère une erreur lors de la compilation, indiquant que toutes les dimensions sauf la première doivent avoir des limites spécifiées. En effet, C exige que les tableaux aient des tailles fixes au moment de la compilation.

Pour simuler des tableaux irréguliers en C/C, une approche couramment utilisée consiste à utiliser un tableau de pointeurs. Chaque pointeur de ce tableau pointe vers un bloc de mémoire alloué dynamiquement où les éléments d'un tableau irrégulier peuvent être stockés.

Exemple en C :

<code class="c">#include <stdlib.h>

int main() {
    // Initialize array of pointers
    int *jagged[5];

    // Allocate memory for each pointer and set array values
    jagged[0] = malloc(sizeof(int) * 2);
    *(jagged[0]) = 0;
    *(jagged[0] + 1) = 1;

    jagged[1] = malloc(sizeof(int) * 3);
    *(jagged[1]) = 1;
    *(jagged[1] + 1) = 2;
    *(jagged[1] + 2) = 3;

    // Use the jagged array
    // ...

    // Deallocate memory
    free(jagged[0]);
    free(jagged[1]);

    return 0;
}</code>
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal