В чем разница между массивом char и указателем char в C?

Я пытаюсь понять указатели в C, но в настоящее время меня смущает следующее:

  • char *p = "hello"
    

    Это указатель char, указывающий на массив символов, начиная с h.

  • char p[] = "привет"
    

    Это массив, в котором хранится hello.

Какая разница, когда я передаю обе эти переменные в эту функцию?

void printSomething(char *p)
{
    printf("p: %s",p);
}
203
задан Dan Grahn 13 September 2019 в 02:43
поделиться