Это арифметика указателя.Поэтому, когда вы упоминаете массив str
или &str
, вы ссылаетесь на базовый адрес массива (например, в printf
), то есть адрес первого элемента в массиве str[0]
.
С этого момента каждый приращения выбирает следующий элемент в массиве.Так что str[1]
и (str + 1)
должны дать вам одинаковый результат.
Также, если у вас есть num [] = {24, 3}
, тогда num[0]
== *(num + 0)
== *(0 + num)
== 0[num]