減法 -

- (減法) 演算子は、そのオペランドの差を生成します。 オペランドは両方とも算術型または列挙型を保持するか、左方オペランドがポインター型で、 右方オペランドがポインターの型と同じ型か整数型または列挙型を保持する必要があります。 整数値からポインターを減算することはできません。

オペランドが両方とも算術型のときは、オペランドに通常の算術変換を実行します。 結果には、オペランドの型変換によって生成される型が保持されます。結果は、 左辺値ではありません。

左方オペランドがポインターで、右方オペランドが整数型を保持するときは、コンパイラーは、 右方の値を相対位置のアドレスに変換します。結果は、ポインター・オペランドと同じ型のポインターに なります。

オペランドが両方とも同じ配列のエレメントを指すポインターである場合は、 その結果は、2 つのアドレスを分離するオブジェクトの数です。数は、 型 ptrdiff_t で、ヘッダー・ファイル stddef.h で定義されます。ポインターが同じ配列のオブジェクトを参照しない場合は、 振る舞いは未定義です。

関連参照

IBM Copyright 2003