Почему возможно назначить const char *в символ *?

Я знаю, что, например, "hello"имеет тип const char*. Итак, мои вопросы::

  1. Как мы можем назначить литеральную строку, такую ​​​​как "hello", не -const char*, подобную этой:

    char* s = "hello";  // "hello" is type of const char* and s is char*
                        // and we know that conversion from const char* to
                        // char* is invalid
    
  2. Является ли буквальная строка, такая как "hello", которая займет память во всей моей программе, или это просто как временная переменная, которая будет уничтожена, когда оператор закончится?

15
задан nbro 11 March 2016 в 14:17
поделиться