s
- это массив char *
(представляющий строки).
ptr
- это массив указателей на указатели (указывающих на значения s
, которые являются указателями на строки)
p
установлен для указания на ptr[0]
(который является указателем на s[3]
или "фиолетовый")
p
увеличивается для указания на ptr[1]
,который указывает на s[2]
или "розовый"
В операторе printf p
разыменовывается дважды.Первое значение deref - это указатель на s[2]
, второе значение deref возвращает значение s[2]
- "pink".+1 переводит указатель на начало «розового» на один символ, поэтому печать отсюда до конца строки даст вам «чернила».