Почему результат выводится без разыменования указателя? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

char *ptr = "hello"; char *ptr это указатель? Указатель. А указатель это переменная которая содержит адрес данных. Почему тогда при печати printf("%s", ptr); выводится строка? По идее нужно было написать так printf("%s", *ptr); что бы увидеть строку(получить данные указателя). Но так выводит ошибку.

Решение задачи: «Почему результат выводится без разыменования указателя?»

textual
Листинг программы
char *hello = "hello";
char *world = "world";    
char **ptrArrAddr[2] = {&hello, &world};

Объяснение кода листинга программы

  1. Объявляется указатель на строку hello и присваивается адрес этой строки переменной hello.
  2. Объявляется указатель на строку world и присваивается адрес этой строки переменной world.
  3. Объявляется массив указателей на 2 элемента и инициализируется адресами переменных hello и world.
  4. Результат работы программы выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы