Coucou

Voilà, je me demande qq chose au sujet d'une fonction d'initialisation de matrice carrée...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
int **init(int n)
{
   int i,j;
   int **T = malloc(n*sizeof(int *));
   if (!T) exit(0);
 
   for (i=0;i<n;i++)
   {
      T[i] = malloc(n*sizeof(int));
      if (!T[i]) exit(0);
   }
 
   for (i=0;i<n;i++)
      for (j=O;j<n;i++)   T[i][j] = 0;
 
   return T;
}
Ma question porte sur le premier malloc : a quoi correspond le (int *) ?

Et on ne peut pas faire un int **T = malloc (n*n*sizeof(int)) ? (allouer la place pour la matrice carrée n )

ha et aussi, il ne faut pas faire un cast qd on fait un malloc ? Du genre :
T[i] = (int *) malloc (n*sizeof (int));


Merci bcp