They are of type char[N]
where N
is the number of characters including the terminating \0
. So yes you can assign them to char*
, but you still cannot write to them (the effect will be undefined).
Wrt argv
: It points to an array of pointers to strings. Those strings are explicitly modifiable. You can change them and they are required to hold the last stored value.