Случай 1: Когда я пишу
char*str={"what","is","this"};
тогда str[i]="newstring"; действует, тогда как str[i][j]='j'; является недопустимым.
Случай 2: Когда я пишу
char str[][5]={"what","is","this"};
тогда str[i]="newstring"; недействителен, тогда как str[i][j]='j'; действителен.
Почему так? Я новичок, который уже очень смущен, прочитав другие ответы.