Мне нужна следующая цитата, особенно жирный текст, чтобы быть оправданным.Почему указатели и массивы не одинаковы: нужно обоснование по цитатой
... Это, как правило, означает, что каким-то образом
source[i]
такая же, как*(p+i)
.На самом деле, это правда, то есть везде, где вы пишете [i], его можно заменить на
*(a + i)
без каких-либо проблем.Фактически, компилятор создаст тот же код в любом случае. Таким образом, мы видим , что арифметика указателя - это то же самое, что индексирование массива. Любой синтаксис дает результат . Это НЕ говорит, что указатели и массивы - это одно и то же, они не. Мы только заявляем, что для идентификации данного элемента массива у нас есть выбор из двух синтаксисов: с использованием индексации массива, а другой с использованием арифметики указателя, которые дают идентичные результаты .
Это цитата из PDF
Учебник по поинтеры и Массивы в C по Ted Jensen Version 1.2 (PDF-версия) сентября 2003 P.No: 19
http://en.wikibooks.org/wiki/C_Programming/Pointers_and_arrays –