I am trying to create a function which allocates memory for a structure array defined in "main". The problem seems to be that my function does not recognize the structure. What is wrong with the following code?
#include <math.h>
#include <stdio.h>
#include <stdlib.h>   
typedef struct typecomplex { float r; float i;  } complex;
complex *myfunction(int n);
int main (int argc, char *argv[]) {
    complex *result = myfunction(1000);
    exit(0);
}
... and in another file...
struct complex *myfunction(int n)  {
  complex *result = (complex *)malloc(n*sizeof(*complex));
  if(result==NULL) return(NULL);
      else return(result);
}
 
     
     
     
    