Добавление типов указателя
Если один из операндов в операции сложения указатель на массив объектов, то другое должен иметь тип целого.Результат указатель, к тому же типу, что и исходный указатель, указывающий на другой элемент массива.Следующий фрагмент кода иллюстрирует эту концепцию:
short IntArray[10]; // Objects of type short occupy 2 bytes
short *pIntArray = IntArray;
for( int i = 0; i < 10; ++i )
{
*pIntArray = i;
cout << *pIntArray << "\n";
pIntArray = pIntArray + 1;
}
Хотя объединенное значение 1 добавляется к pIntArrayэто не означает "добавить 1 к адресу"; скорее оно означает "обработка указатель к пункту к следующему объекту в массиве", являются быть 2 байт (или sizeof( int )).
Примечание |
---|
Код формы pIntArray = pIntArray + 1 редко находит в программах C++; выполнить приращение, эти формы предпочтительны: pIntArray++ OR pIntArray += 1. |