Имя массива – является указателем – константой. Описания:
char string_1[20]= «Язык Си» и
char *string_2 = «Язык Си»;
размещают в памяти соответствующую строку символов. Различие состоит в том, что указатель string_1 является константой, а указатель string_2 – переменной. Это различие проявляется в случае использования операции единичного приращения ++. Эту операцию можно применять только к переменным. Поэтому string_2++ - допустимая конструкция, а string_1++ - запрещенная. Однако и в том и в другом случае можно использовать операции сложения с указателем, т.е.
string_1 + i;
string_2 + i; - допустимые конструкции.
При задании массива символов можно указывать размер явно, например:
char mas_1 [10] = “Яблоко”;
Или определить массив по умолчанию
Char mas_2 [ ] = “Груша”.
Отличие заключается в том, что во втором случае будет выделено ровно столько памяти, сколько необходимо.