什么是C语言的限定符?

时间:2011-02-24 11:02:14

标签: c qualifiers

我正在阅读此网址上的一些文字:

https://cs.senecac.on.ca/~btp100/pages/content/varia_p.html

在“资格赛”一节中,他们说:

“我们可以限定int类型以确保它包含最小位数” .... 短路包含至少16位: ....

我不明白这一点,“限定int类型”是什么意思以及为什么“一个短包含至少16位”。

有人可以详细说明吗? 谢谢大家。

6 个答案:

答案 0 :(得分:13)

限定符是赋予变量或函数的额外名称,显示该变量或函数的额外质量或额外含义。像Arun Kumar博士的博士那样

变量的限定符是(TYPE限定符):signedunsignedlongshortlong longconst,{{ 1}},volatilestaticautoextern

功能限定符包括:registerstaticextern

答案 1 :(得分:5)

关键字shortlongunsignedsigned等称为限定符。限定符的顺序无关紧要,例如

short int signed x; // means signed short int x, at least 16 bits :)

在这一行中,您已使用intshort限定符<{1}}类型进行了限定

答案 2 :(得分:2)

您可以使用限定符来指示要在int中存储的数字大小。认为确切的大小因C的实现而异,但通常如下所示。

short int a; // 16 bits, range -32,768 to 32,767

unsigned short int b; // 16 bits, range 0 to 65,535

unsigned int c; // 32 bits, range 0 to 4,294,967,295

int d; // 32 bits, range -2,147,483,648 to 2,147,483,647

long int d; // 32 bits, range -2,147,483,648 to 2,147,483,647 (minimum requirement, can be higher on 64bit systems)

答案 3 :(得分:1)

某些关键字会更改“int”类型的行为。这些被称为限定词。例子包括“短”,“长”,“无符号”,“常量”,“易失性”。因此,如果我们用“short”限定“int”,我们知道该变量至少包含16位:

short int var;

答案 4 :(得分:0)

逻辑上,整数是任何整数,从负无穷大到正无穷大。

在C / C ++中能够声明一个int并使用它来存储任何整数会很好,但不幸的是,你可以在int数据类型中存储的值范围有限制。

C / C ++允许您声明short,int或long变量类型​​,它们可以分别存储2 ^ 16,2 ^ 32和2 ^ 64个不同的整数。

要说int类型是合格的,就像说它被限制为保存较小的整数子集一样。

答案 5 :(得分:0)

仅用于通过ISO标准C11

进行澄清
  • 存储类说明符(6.7.1):typedefexternstatic_Thread_localautoregister。 / li>
  • 类型说明符(6.7.2):voidcharshortintlongfloat,{{1 }},doublesignedunsigned_Bool,原子类型说明符_Complex 类型名称 {{1} },结构或联合说明符(_Atomic ()),枚举说明符(struct),typedef名称(union和其他内容)。
  • 类型限定符(6.7.3):enumtypedefconstrestrict

volatile类型限定符与_Atomic类型限定符不同。