C编程术语

MD *_* XF 0 c variables declaration

拿这个宣言:

int i = 80;
Run Code Online (Sandbox Code Playgroud)

这是我对用于描述每个部分的术语的理解(如果我错了,请纠正我):

  • int 是变量类型
  • i 是声明者
  • = 是赋值操作数

什么术语用来形容80

另一个例子:

char *c = "a";
// char - variable type
// c    - declarator
// =    - assignment operand
// "a"  - ?
Run Code Online (Sandbox Code Playgroud)

rod*_*igo 5

对于C语法的每个部分的正确名称,您应该转到C标准并阅读语言语法.相关(不完整)的部分是:

declaration:
    declaration-specifiers init-declarator-list opt ;
    static_assert-declaration

declaration-specifiers:
    storage-class-specifier declaration-specifiers opt
    type-specifier declaration-specifiers opt
    type-qualifier declaration-specifiers opt
    function-specifier declaration-specifiers opt
    alignment-specifier declaration-specifiers opt

init-declarator-list:
    init-declarator
    init-declarator-list , init-declarator

init-declarator:
    declarator
    declarator = initializer
Run Code Online (Sandbox Code Playgroud)

例如:

  • static int x = 80, y = 90;宣言.
  • static 是存储类说明符,它是声明说明符的一部分.
  • int 是一个类型说明符,它是声明说明符的一部分.
  • x并且y是作为声明者的标识符(语法在别处).
  • =是一个将声明符与初始值设定项分开的标记.在这种情况下,它不是一个运营商.
  • 80并且90是用作初始化器的表达式.
  • ,是一个令牌(不是运算符),它将一个声明符加初始化(init-declarator)与下一个声明加起来.
  • ; 是标记声明结束的标记.