Прокомментировать код - C (СИ) (71472)
Формулировка задачи:
Добрый вечер! я хочу просто разобраться в логике работы данного когда. можете пожалуйста описать, что и как тут происходит? и что получается на выходе и почему
Листинг программы
- int m[] = {1, 2, 3, 4, 5};
- int* p1 = m;
- int* p2 = m;
- p1 += 3;
- ++p2;
- ptrdiff_t dp = p2 - p1;
- int x = *p1;
- int y = *p2;
- std::cout << dp << x << y;
Решение задачи: «Прокомментировать код»
textual
Листинг программы
- int m[] = {1, 2, 3, 4, 5}; //объявлен целочисленный массив и проинициализирован
- int* p1 = m; //объявлено 2 указателя на этот массив
- int* p2 = m;
- p1 += 3;//тут передвигают указатели р1 на +3 и р2 на +1
- ++p2;
- ptrdiff_t dp = p2 - p1;//тут для меня не "совсем простая арифметика над указателями", самому интересно
- int x = *p1;// еще 2 указателя(поправьте, если не так!)
- int y = *p2;
- std::cout << dp << x << y;// похоже на вывод на консоль, но как-то не для Си
Объяснение кода листинга программы
- Объявлен целочисленный массив и проинициализирован.
- Объявлено 2 указателя на этот массив.
- p1 += 3; передвигают указатели р1 на +3 и р2 на +1.
- ++p2;
- ptldiff_t dp = p2 - p1;.
- int x = *p1;.
- int y = *p2;.
- std::cout << dp << x << y;.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д