I don't understand what the difference between

```c
int main(int argc, char* argv[]){;}

```

and

```c
int main(int argc, const char* argv[]){;}

```

is.

I'm aware of the difference between a `char*[]` and `const char*[]` but I wonder why one would like to use the latter.

Are there use cases where one would want to change command line arguments? What's the best practice about adding `const`?