请问C语言中的unsigned类型只得是什么类型? 例:unsigned a; 仅仅是unsigned类型!不是unsigned int a;!

是不是ungsiged a; 和 unsigned int a; 是等价的呢? 只不过省略了一个unsigned?

ungsiged 关键字是把变量声明为无符号类型的,它与变量的基本类型(如int ,long,double等)配合使用,当它所修饰的基本类型为int时,int可以省略,所以,像楼主所理解的ungsiged a; 和 unsigned int a; 是等价的,这个理解是没错儿的!
另外,如果你声明了一个 int a;则编译器默认它为有符号类型,即它等同于 signed int a;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-29
unsigneda; 和 unsigned int a; 是等价的.这是编译器人性化的一面,但同时也给初学者带来了困扰。
顺遍提下unsigned a;只能与unsigned int a; 等价。如果是unsigned float a;的话就只能老老实实写全了。还有,楼主提问内容里的unsigned写错了,看来是初学者啊
第2个回答  2010-12-29
是等价的,只不过省略了int而已,就像[signed ]long [int]或unsigned long [int]加了[]的表示可以省略
第3个回答  2010-12-29
unsigned 不是类型,应该叫关键字吧,大多数编译器来讲unsigned a都默认是unsigned int a;
第4个回答  2010-12-29
不等价!

int a;是默认带符号的;
unsigned int a;是无符号 整数 类型;
相似回答