ポインター演算の場合、整数は自動的に符号付きバリアントに変換されますか? はいの場合、なぜですか?
私がそうするとしましょう
int *pointer;
int *pointerdiff;
unsigned int uiVal = -1;
pointerdiff = pointer + uiVal // Pointer will contain valid address here.
ここで、pointer は int へのポインターであり、uiVal は -1 に初期化されています。次に、ポインターのアドレスが 4 減っていることがわかりました。-1 の符号なし値がここで考慮されないのはなぜですか?