Прокомментировать код - 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;.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д