Вот практический пример, который извлекает один символ из строки C:
char charAt( char *str, size_t idx) {
if (idx > strlen (str))
return '\0';
return *(str+idx);
}
Или другое, которое заменяет целое число в массиве непосредственно перед ним (без проверки диапазона):
void swapInts( int *base, size_t idx) {
tmp = *(base+idx);
*(base+idx) = *(base+idx-1);
*(base+idx-1) = tmp;
}
В обоих этих случаях *(pointer+offset)
идентичен pointer[offfset]
, но вместо смещения массива используется арифметика указателя:
*(str+idx) -> str[idx]
*(base+idx) -> base[idx]
*(base+idx-1] -> base[idx-1]
Предупреждение: Не используйте эти дословные слова в своей домашней работе, подумайте о них и напишите свою собственную. Если вы скопируете их дословно, вы почти наверняка потерпите неудачу, так как ваши преподаватели, несомненно, тоже будут смотреть эти сайты.