✔ 最佳答案
1. The differences
void abc(char s[]) <= Pass by value
The original value in s[] is not affected by the function.
void abc(char *s) <= Pass by reference
The original value is actually modified in the function.
2. When to use pointer(*)
You will need to use pointer if the argument you try to pass to function is very big. For example char array with length 20000. It is not feasible to make a whole copy in the function because it consumes a lot of memory space.
3. Why use function.
Code reused is the main purpose of function.