La funzione deve essere

codice:
void riempi_standard(char ***arr, int n)
{
    int i, j;
    char a=97;
    char b=48;

    *arr=(char **)malloc(n*sizeof(char *));
    for (i=0; i<n; i++)
        (*arr)[i]=(char *)malloc(n*sizeof(char));
    
	for (i=0; i<n; i++)
        for (j=0; j<n; j++)
            (*arr)[i][j]='~';

    for (i=1; i<n-1; i++, a++)
        (*arr)[0][i]=a;
    
	for (i=1; i<n-1; i++, b++)
        (*arr)[i][0]=b;

    (*arr)[0][0]=' ';
}
e la chiamata

codice:
    char **matrix1;

    ...

    riempi_standard( &matrix1, n );