Как работает арифметика указателей Си?

На экзамене по программированию (язык Си) был такой вопрос
"Если c – массив char, то чему равна разность (с+3) - с (в байтах)?".
Правильный ответ 3.
Объясните, пожалуйста, как получается 3?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
Когда ты вычитаешь указатели, результат это количество элементов указанного типа между этими указателями. В твоём случае 3 char, видимо, предполагается, что sizeof(char) == 1. В общем случае это не так, правильный ответ будет 3*sizeof(char).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы