in my assigment i have to use pointers but it doesnt work

#include <stdio.h>
#include <conio.h>

int a[5][5],*p;

void init(int *p) { //error
int i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
*(p+(i*5+j))=j;
}
void load(int *p) { // error
int i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
*(p+(i*5+j))+=i+1;
}

void print(int *p) { // error
int i,j;
for(i=0;i<5;i++) {
for(j=0;j<i;j++)
printf("%d",*(p+(i*5+j)));
printf("\n");
}
}
void main() {
int i,j;
clrscr();
p=&a[0][0];
init(&p); //error
load(&p); //error
print(&p); //error
getch();
}

how can i fix this??