Для чего нужны арифметические операции над указателями - C (СИ)
Формулировка задачи:
Столкнулся с таким вот вопросам:
Для чего нужны арифметические операции над указателями ?
Суть вопроса в том для чего нам влиять на память если мы конкретно не обращаемся к самому значению а лишь ссылаемся на него в памяти !
Огромное спасибо если кто-то приведет простой пример где мы получаем выгоду от использования афрефм. операций над указателями.
Решение задачи: «Для чего нужны арифметические операции над указателями»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
char array[10] = "abcd";
char *p = array;
while (*p != 'd') {
printf("[%c%c]", *p, *p);
p = p + 1;
}
putchar('\n');
return 0;
}
Объяснение кода листинга программы
В этом коде используется арифметическая операция над указателем p и массивом array.
- Объявляется массив
arrayтипаcharс размером 10 элементов и инициализируется строкойabcd. - Указатель
pинициализируется адресом первого элемента массиваarray. - Запускается цикл
while, который выполняется до тех пор, пока значение, на которое указываетp, не станет равным 'd'. - Внутри цикла выводится текущее значение, на которое указывает
p, с помощью функцииprintf(). - Значение
pинкрементируется на 1, чтобы перейти к следующему элементу массива. - После выполнения цикла выводится символ новой строки с помощью функции
putchar(). - Функция
main()возвращает 0, что означает успешное завершение программы.