Passing char arrays to a function - best practice

If you have a function that takes a const char * pointer, and you have a char array or char pointer, it is valid C/C++ to pass the pointer without cast. Now, if you had a const char * and the function wanted char *, you would have to use a cast in C and a reinterpret_cast in C++ (which Arduino uses).

GoForSmoke:
char duh[] = "string";
sendMsg((const) duh);

This does not do what do what you think it does. It would convert duh to a const int, not const char *. I believe you want:

char duh[] = "string";
sendMsg((const char *)duh);