Почему я могу увеличивать позицию массива char внутри функции, а не в main?

Какие'Разница между этим параметром функции stringLength (char string []) и stringLength (char * string), не должнаt первый не допускает приращения (строка = строка +1), который имеет комментарий к коду ниже?

#include 
#include 
#include 

int stringLength(char string[]) {
    int length = 0;
    while(*string) {
        string = string + 1; // I can do it here
        length++;
    }
    return length;
}

int main(void){
    char s[] = "HOUSE";
    s = s + 1;  // I can not do it here
    printf("%s\n", s);
    printf("%d\n", stringLength(s));
}

Ответы на вопрос(1)

Ваш ответ на вопрос