char * arr; above means that arr is a pointer to a character, and it can point to either a single character or a string of characters
& char arr []; the statement above implies that arr is a character string and can store as many characters as possible, or even one, but will always count on the character "\ 0", which makes it a string (for example, char arr [] = "a" is like char arr [] = {'a', '\ 0'})
But when used as parameters in the called function, the transmitted string stores character by character in formal arguments, without making any difference.
Nitin singh
source share