Explain why I get: warning assignment from incompatible pointer type
<p>I'm trying to make a tic tac toe program, but I have run into a warning. I know that the code still compiles, but I want to know why I have this warning and what I  can do to fix it.</p>

<p>I get the warning when p = a;</p>

<pre><code>void clean(){
    char a[N][N], *p;
    p = a;
    for(int i = 0; i &lt; N; i++){
        for(int j = 0; j &lt; N; j++){
            *p++ = '_';
        }
    }
    display(a);
}
void display(char a[N][N]){
    for(int i = 0; i &lt; N; i++){
        for(int j = 0; j &lt; N; j++){
            printf("%c ", a[i][j]);
        }
        printf("\n");
    }
}
</code></pre>