Cでプログラミングを始めてからしばらく経ちますが、いまだに戸惑っていunsigned
ます。このコードをコンパイルした場合:
#include <stdio.h>
int main(int argc, char **argv)
{
unsigned int x = -1;
return 0;
}
gcc と VC++ の両方で、 で負の数を使用することに関するエラーや警告さえも発生しませんunsigned
。
私の質問は、unsigned
内部的な仕事をしているのか、それともこの値が負であってはならないというプログラマーへの単なるヒントですか?