Если у вас есть массив или указатель, p+x
эквивалентно &p[x]
.Так что MY_STRING + 2
эквивалентно &MY_STRING[2]
: он возвращает адрес третьего символа в строке.
Обратите внимание, что происходит, когда вы добавляете 0. MY_STRING + 0
совпадает с &MY_STRING[0]
, оба изкоторые аналогичны написанию просто MY_STRING
, поскольку ссылка на строку является не чем иным, как указателем на первый символ в строке.К счастью, операция идентификации «добавить 0» не работает.Считайте, что это своего рода тест на умственную единицу, который мы можем использовать для проверки правильности нашего представления о том, что означает +
.