Segmentation fault core dump sur un tableau 2d alloué dynami

Fermé
Nele_2004 Messages postés 1 Date d'inscription jeudi 17 mars 2022 Statut Membre Dernière intervention 17 mars 2022 - 17 mars 2022 à 13:56
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 24 mars 2022 à 14:45
Bonjour,
J'ai essayé d'initialiser un tableau 2d alloué dynamiquement dans une fonction mais ça me met segmentation fault core dumped sans que je ne comprenne pourquoi. Quelqu'un peut il m'aider s'il vous plaît ?
A voir également:

5 réponses

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
24 mars 2022 à 13:57
Bonjour,

Il manque en effet une étoile. Mais il y a aussi un changement de référenciel qui fait que ton code donnera n'importe quoi si
largeur
était différent de
hauteur
:
- dans
create_a_matrice()
, tu poses le premier indice comme parcourant la largeur.
- mais dans
fill_matrice()
, le premier indice parcourt la
hauteur
!
1
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 7 809
Modifié le 21 mars 2022 à 11:24
Bonjour,

Plutôt que de faire une photo avec des reflets (ou même une capture d'écran) dans laquelle on ne voit même pas tout le code, pourquoi ne pas juste le copier coller et le mettre en forme avec les balises de codes ?

Mais ce que je peux d'ores et déjà te dire, c'est que vu que tes noms de fonction comportent des espaces (ce qui n'est pas autorisé en langage C), ton programme n'a aucune chance de compiler...

Bonne chance
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 094
23 mars 2022 à 19:41
Salut Nele_2004,

Il est effectivement étonnant que tu arrives à compiler compte tenu de ce que dit mamiemando, qui est exact (noms de fonctions avec des espaces ... sauf si ta photo ne capture pas bien des underscore qu'on ne verrait pas et donnerait l'illusion que tu mets des espaces entre les mots).

Il reste que un "segmentation fault core dumped" est une erreur à l'exécution, qui suppose que tu aies pu compiler.

Tu as différentes méthodes pour allouer de la mémoire sur le tas à un tableau à deux dimensions et y accéder ensuite.

Tu en as plusieurs qui sont présentées sur cette page : https://www.geeksforgeeks.org/dynamically-allocate-2d-array-c/


Dal
0
Bonjour,
J'ai été éclairée sur la raison du problème. Il manquait une étoile au int du sizeof à la deuxième ligne de code ( si cela pouvait être utile à quelqu'un d'autre). Concernant les underscore, en effet ils sont présents c'est juste qu'ils ne s'affichent pas ( une tendance de l'ordinateur).
Toujours est-il que je vous remercie de m'avoir répondu et m'excuse de la qualité de l'image.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 7 809
24 mars 2022 à 14:45
Bonjoure Nele_2004,

Merci pour ton retour.

As-tu résolu ton problème ? Si oui, merci de nous le dire et de basculer le sujet en résolu),

Dans le cas contraire, indique-nous tes questions et copier colle ton code (avec les balises de code) afin que nous soyons en mesure de t'aider.

Bonne chance
0