Création des matrices en C

Fermé
Nady1717 Messages postés 1 Date d'inscription vendredi 27 mars 2015 Statut Membre Dernière intervention 27 mars 2015 - 27 mars 2015 à 21:44
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 28 mars 2015 à 01:37
Bonjour,

Je veux créer 5 matrices dont la taille de chacune est de [500][500] entiers sauf que lors de l'exécution mon ordinateur se plante. Le debugger m'affiche "Program received signal SIGSEGV, Segmentation fault." Est ce que c'est un problème de mémoire (j'utilise un ordinateur avec 1 RAM de 3Go ?. Et comment je peux résoudre ce problème sachant que le code très simple : #include <stdio.h>
#include <stdlib.h>

int main()
{

int m1[500][500];
int m2[500][500];
int m3[500][500];
int m4[500][500];
int m5[500][500];
{traitements sur les matrice }
return 0;
}

Merci beaucoup.
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
28 mars 2015 à 01:37
Bonjour,

Ton programme est incomplet. On ne peut donc pas dire d'où vient le plantage. Il peut très bien venir des traitements que tu effectues sur les matrices.
Le problème de l'allocation statique est que les données sont contiguës en pile. Tu peux utiliser sinon une allocation dynamique pour contrôler le retour des malloc(). Ou sinon passer par des listes chaînées.

Note : pour la prochaine fois, pense à bien utiliser la balise "code c" pour une meilleure lisibilité. Exemple :
<code c>ici tu mets ton code</code>
0