1 seul malloc pour 3 tableaux de dimension n*n
Salut à tous,
Je fais un prog C de calcul de produit matriciel (C = A*B) où je dois faire une allocation de mémoire dynamique, j'ai fait le code C suivant:
...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #define LG 512
double **A, **B, **C;
int i, j, k;
//allocation de mémoire pour les tableaux
A = (double**)malloc(LG*sizeof(double*));
B = (double**)malloc(LG*sizeof(double*));
C = (double**)malloc(LG*sizeof(double*));
for(i=0; i<LG; i++){
A[i] = (double*)malloc(LG*sizeof(double));
B[i] = (double*)malloc(LG*sizeof(double));
C[i] = (double*)malloc(LG*sizeof(double));
}
//initialisation des tableaux A et B
...
//calcul du produit matriciel C=A*B
produit_matriciel(A, B, C, LG);
... |
Mon souci se situe au niveau du malloc. Celui que j'ai fais marche très bien, mais le problème c'est que j'ai fais 3 allocations de mémoire dynamique pr les trois tableaux, alors que j'ai la contrainte de n'en faire qu'un seul malloc pour les trois tableaux n*n.
Est ce que qlq saurai cmt procédé pr n'effectuer qu'un seul malloc (pr l'ens des trois tableaux), et faire commencer chacun des tableaux à un offset différent?
Merci pour votre aide :)
balises [code] rajoutées par khayyam90 - merci d'y penser à l'avenir
1 seul malloc pour 3 tableaux de dimension n*n
Merci pour le conseil,
ça marche :D