这个指针的指针为什么不能这样表示

我用数组的指针取地址不能当指针的指针吗

int evalRPN(char** tokens, int tokensLen );
   int main()
  {   int num;
 
 num=evalRPN( &x, 1);
 

8 [Error] cannot convert 'char ()[1]' to 'char' for argument '1' to 'int evalRPN(char*, int)'
这是报错

我的解答思路和尝试过的方法
我想要达到的结果

char** tokens是双重指针,如果x是一个指针,对x取值传过来是对的,如果x是一个数组,对x取值,相当于一重指针,传过来就不匹配。修正的代码如下,buffer是一个数组,x为指向数组的指针,对x取值传递是二重指针,这样就没问题了:

#include <stdio.h>
int evalRPN(char** tokens, int tokensLen )
{
}
int main()
{
    int num;
    char buffer[5];
    char *x = buffer;
    num=evalRPN( &x, 1);
}