title: stddef.h |212|error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’
body: <p>The code does not compile. But I run it altogether in one file it does. It tells me:</p>
  
  <p>stddef.h   |212|error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘<strong>attribute</strong>’ before ‘typedef’</p>
  
  <p>What's really going on?</p>
  
  <p>Main.c File:</p>
  
  <pre><code>#include "InvMatriz.h"
  #include &lt;stdio.h&gt;
  
  int main(int argc, char **argv)
  {
  float **A;
  int n;
  printf("Ingrese el tamaño de la matriz: ");
  scanf("%d", &amp;n);
  
  A = ingresematriz(n);
  mostrarmatriz(A, n);
  printf("adfasd");
  
  return 0;
  }
  </code></pre>
  
  <p>Header File InvMatriz.h</p>
  
  <pre><code>#ifndef INVMATRIZ_H_
  #define INVMATRIZ_H_
  
  float** ingresematriz(int );
  void mostrarmatriz(float**X ,int x);
  
  #endif // INVMATRIZ_H
  </code></pre>
  
  <p>Ingrese Matriz.c File</p>
  
  <pre><code>#include "InvMatriz.h"
  #include &lt;stdio.h&gt;
  
  
  
  float **ingresematriz(int n)
  {
  
  int i, j;
  
  //Asigna espacio en la memoria
  
  float **A;
  
  A = malloc(n * sizeof (float *));
  for (i = 0; i &lt; n; i++)
  {
      *(A + i) = malloc(n * sizeof(float));
  }
  
  //Pide los elementos y los guarda
  
  for (i = 0; i &lt; n; i++)
  {
      for (j = 0; j &lt; n; j++)
      {
          printf("Elemento [%d] [%d]:  ", i + 1, j + 1);
          scanf("%f", *(A + i) + j);
      }
  }
  return A;
  }
  </code></pre>
  
  <p>Mostrar Matriz.c File</p>
  
  <pre><code>#include "InvMatriz.h"
  #include &lt;stdio.h&gt;
  
  void mostrarmatriz(float **X , int x) //Porque no hace nada pero si compila?
  {
  
  int i, j;
  for (i = 0; i &lt; x; i++)
  {
      for (j = 0; j &lt; x; j++)
      {
          printf("%f        ", *(*(X + i) + j));
      }
      printf("\n");
  
  
  }
  }
  </code></pre>