Maison > Article > développement back-end > Comment pouvons-nous implémenter des tableaux irréguliers en C/C ?
Comprendre les tableaux irréguliers en C/C
Bien que le concept de tableaux irréguliers, où les lignes peuvent avoir des longueurs variables, ne soit pas directement pris en charge dans C/C standard, il existe des techniques pour obtenir des fonctionnalités similaires.
Lors de la tentative de déclaration d'un tableau irrégulier en C/C comme indiqué ci-dessous :
<code class="c++">int jagged[][] = { {0,1}, {1,2,3} };</code>
les erreurs du compilateur apparaissent, mettant en évidence le exigence de spécifier des limites pour toutes les dimensions sauf la première. Pour surmonter cette limitation, une approche alternative consiste à utiliser un tableau de pointeurs.
Création de tableaux irréguliers à l'aide d'un tableau de pointeurs
En C, un tableau irrégulier peut être implémenté en utilisant un tableau de pointeurs. Chaque élément de ce tableau pointe vers un sous-tableau alloué dynamiquement, où chaque sous-tableau a sa propre longueur variable.
Par exemple :
<code class="c">int *jagged[5]; // Assign memory to each subarray jagged[0] = malloc(sizeof(int) * 10); jagged[1] = malloc(sizeof(int) * 3); // Accessing elements *jagged[0] = 0; *(jagged[0] + 1) = 1; *jagged[1] = 1; *(jagged[1] + 1) = 2; *(jagged[1] + 2) = 3; // Free memory after use free(jagged[0]); free(jagged[1]);</code>
Cette méthode permet de créer des tableaux avec des lignes de différentes tailles, simulant le comportement d'un tableau irrégulier. Il est important de noter que la mémoire de chaque sous-tableau doit être allouée dynamiquement et libérée manuellement pour éviter les fuites de mémoire.
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!