J'ai créé un petit morceau de code pour allouer dynamiquement un tableau 2D en C, cela est utilisé pour essayer de résoudre un problème que j'ai un plus grand morceau de code, si je peux obtenir ma tête autour de l'allocation dynamique d'un tableau 2D Je suis confiant que je vais résoudre mon autre problème. Le problème que j'ai eu est qu'après avoir alloué la matrice et écrit avec une fonction mon programme ne fonctionne pas, je ne reçois aucune erreur, il crée juste un écran vide et finit par se bloquer. Je ne suis pas sûr de savoir où progresser, toute aide serait grandement appréciée!erreur avec un tableau 2D alloué dynamiquement
Voici le code:
#include <stdlib.h>
void get_matrix(double **a, int n);
int main() {
int n = 5;
int i, j;
double **a;
a = (double **)malloc(n * sizeof(double *));
for (j = 0; j < n; j++)
a[j] = (double *)malloc(n * sizeof(double));
get_matrix(a, n);
for (i = 0; i <= n; i++) {
for (j = 0; j <= n; j++) {
printf("%d, ", a[i][j]);
}
printf("\n, ");
}
return 0;
}
void get_matrix(double **a, int n) {
int i, j;
for (i = 0; i <= n; i++) {
for (j = 0; j <= n; j++) {
a[i][j] = 4;
}
}
}
Avez-vous lu [this] (https://stackoverflow.com/q/42094465/694733)? – user694733
@DavidBowling: à proprement parler, vous avez raison. Pourquoi ne pas poster une réponse avec le code c99 qui alloue et utilise un VLA 2D? La syntaxe est un peu plus compliquée que le code de tableau indirect 2D affiché ci-dessus. – chqrlie
@DavidBowling: Il y avait d'autres problèmes, j'ai posté une réponse plus complète. – chqrlie