Passing char arrays to a function - best practice

So what's the difference between these two functions:

void SendMsg(char [ ]  myMsg)

void SendMsg(char * myMsg)

None.
Inside SendMsg you don't know the size of myMsg, just the strlen.
And you can use both the same way: e.g.

myMsg[i] 
*(myMsg+i)

are identical and valid in both cases