函数指针数组在C中的表达式

I'm C beginner and I learned a pointer can be expressed in an array and vice versa.
Like *p == p[0], p[1][2] == *(*(p+1)+2)
Does these lead to *p[i](arg1, arg2) == p[0][i](arg1, arg2)?
And a function pointer points first instruction of it, can I know how to point next command using a function pointer?(It may not be important but I just wonder)