faute de segmentation en cours d'allocation dynamique de la mémoire avec malloc

Cela peut être très idiot de se poser la question.

Je suis à l'aide de malloc pour l'allocation de mémoire.

Programme compile bien, mais faute de segmentation se produit lors du lancement.

Voici min code:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
    int row,col,i;
    int **mat;
    row = 3; //made row as static for testing
    col = 4; //made col as static for testing
    *mat = (int *)malloc(sizeof(int)*row);
    for (i=0;i<row;i++)
       mat[i] = (int *) malloc (sizeof(int)*col);
}

j'ai compilé avec: gcc-ggdb test.c

sur gdb sa présentation:

(gdb) run
Starting program: /slowfs/swe91/abjoshi/clients/fw_cl_for_seg_fault/a.out

Program received signal SIGSEGV, Segmentation fault.
0x00000000004004cc in main () at 1test.c:10
10          *mat = (int *)malloc(sizeof(int)*row);

Note: gcc version 4.5.2

  • *mat = (int *)malloc(sizeof(int)*row); tapis n'est pas pour tout de suite.
  • c'est ce que je suis affectation de la mémoire de pointeur, alors je vais stocker des valeurs dans cet emplacement de la mémoire. S'il vous plaît laissez-moi savoir si je suis absent quelque chose.
  • Voir ma réponse ci-dessous.
InformationsquelleAutor Abhi | 2013-09-18