Hi all, I'd be very grateful if you could help me with a very strange set of errors and warnings I get on some C code. I've been staring at it for a while and I'm really frustrated.

So, the code is like this:

Code:
#include <stdio.h>
#include <stdlib.h>
void main(){
int n,**mo,pn,m,p,n1=1,n2=1,test1[10][10]={{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0}};
p=phm(test1,&mo,n,n1,n2,&pn,&m);
}
int phm(int **h,int ***d_p,int n,int a1,int a2,int *k,int *pm){
    int **e1,**e2,**ma,**d;
    char pd,m;
    if((d=malloc(sizeof(int *)))==NULL)return(1);
    if((*d=malloc(sizeof(int)))==NULL)return(1);
    if(a1==a2){
        d={{a1}};
        pd=1;
    }
    e1={{a1}};
    e2={{a2}};
    m=0;
    while(!pd){
        *pm=1;
        d={{0}};
        pd=0;
    }
    *d_p=d;
    return(0);
}
Nevermind what it does or what it's supposed to do; this is sort of an abridged version of my program just to narrow down where the trouble arises. So I just want to get it to run, not give me any sensible results.

Now the errors and warnings I get all seem to indicate that everything going on inside phm is taken to be global for some reason. Specifically, I get the following:

Code:
--------------------Configuration: mingw5 - CUI Debug, Builder Type: MinGW--------------------


Checking file dependency...
Compiling C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c...
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:3: warning: return type of 'main' is not `int'
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:13: error: syntax error before '{' token
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:14: warning: data definition has no type or storage class
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:15: error: syntax error before '}' token
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: warning: braces around scalar initializer
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: warning: (near initialization for `e1')
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: error: `a1' undeclared here (not in a function)
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: error: initializer element is not constant
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: error: (near initialization for `e1')
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: error: initializer element is not constant
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: error: (near initialization for `e1')
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:16: warning: data definition has no type or storage class
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: warning: braces around scalar initializer
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: warning: (near initialization for `e2')
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: error: `a2' undeclared here (not in a function)
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: error: initializer element is not constant
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: error: (near initialization for `e2')
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: error: initializer element is not constant
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: error: (near initialization for `e2')
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:17: warning: data definition has no type or storage class
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:18: warning: data definition has no type or storage class
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:19: error: syntax error before "while"
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:21: warning: initialization makes pointer from integer without a cast
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:21: warning: data definition has no type or storage class
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:22: warning: braces around scalar initializer
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:22: warning: (near initialization for `d')
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:22: warning: data definition has no type or storage class
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:23: error: redefinition of 'pd'
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:14: error: previous definition of 'pd' was here
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:23: warning: data definition has no type or storage class
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:24: error: syntax error before '}' token
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:25: warning: initialization makes pointer from integer without a cast
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:25: error: initializer element is not constant
[Warning] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:25: warning: data definition has no type or storage class
[Error] C:\Users\Owner\AppData\Roaming\C-Free\5.0\samples\CHello.c:26: error: syntax error before "return"


Complete Make CHello: 18 error(s), 17 warning(s)


These would all make total sense if all those commands were not inside any functions. But as it is, for the life of me I can't figure out what's happening. The brace pairs open and close as they should, so it's not a case of misplaced or missing braces. Same with parentheses. I'm going insane Please help? Thanks!