【C语言】标识符和关键字

1. 标识符  

标识符(identifier)是赋予程序中的变量和函数等的名称。

标识符必须以非数字(大小写字母和下划线)开头,之后可以是非数字和数字的组合。C语言区分大小写,ABc、abc和 aBc分别代表不同的标识符。

标识符的分类:

  • 关键字
  • 预定义标识符:C语言中系统预先定义的标识符,如系统类库名、系统常量名、系统函数名,如printf
  • 用户标识符:不能把关键字作为用户标识符

合法的用户标识符示例如下所示:
x1    a  _ _y    abc_def    max_of_group    xyz    Ax3    If    iF    IF    if3

非法的用户标识符示例如下所示:
if    123    98pc    abc$    abc$xyz    abc@def

以下划线开头的标识符(如_x、_comp)和仅有一个大写英文字母的标识符(如A、Z),有可能是编译器内部使用的,因此最好不要用作变量和函数的标识符。

2. 关键字

在C语言中,像if和else这样的标识符被赋予了特殊的意义。这种具有特殊意义的标识符称为关键字(keyword),它们是不能用作变量名的。C语言中有32个关键字。

关键字
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while

auto:一种存储类型说明符,用于声明自动变量

break:一种跳转语句,用于跳出当前的那一层循环或switch语句

case:在switch语句中使用

char:一种基本内置类型,用于声明字符型变量或作为函数返回类型

const:一种类型限定符,限定变量具有“只读”权限

continue:一种跳转语句,用于终止本次循环

default:在switch语句中使用

do:与while一起使用,作为一种循环语句

double:一种基本内置类型,用于声明双精度浮点型变量或作为函数返回类型

else:与if一起使用,作为一种分支语句

enum:声明枚举这一自定义类型

extern:一种存储类型说明符,用于声明外部变量

float:一种基本内置类型,声明单精度浮点型变量或作为函数返回类型

for:一种循环语句

goto:一种跳转语句,又称无条件转移语句

if:一种分支语句

int:一种基本内置类型,用于声明整型变量或函数返回类型

long:一种基本内置类型,用于声明长整型变量或函数返回类型

register:一种存储类型说明符,用于声明寄存器变量

return:一种跳转语句,用于结束函数

short:一种基本内置类型,用于声明短整型变量或函数返回类型

signed:与整数类型一起使用,表示有符号的整数类型

sizeof:计算数据类型或变量长度(单位:字节)

#include 

struct S
{
	char c1;
	int i;
	char c2;
};
int main()
{
	printf("%d\n", sizeof(struct S)); // 12
	printf("%d\n", sizeof(double));   // 8
	int arr[8] = { 0 };
	printf("%d\n", sizeof(arr));      // 32
	return 0;
}

static:一种存储类型说明符,用于声明静态变量

struct:声明结构体这一自定义类型

switch:一种分支语句

typedef:类型重命名

typedef unsigned int uint; // 将unsigned int重命名为unit

typedef struct Node
{
    int data;
    struct Node* next;
}Node; // 把struct Node类型重命名为Node

unsigned:与整数类型一起使用,表示无符号的整数类型变量

union:声明联合体这一自定义类型

void:一种基本内置类型,用于当函数没有返回值时作为返回类型

volatile:一种类型限定符,编译器对访问该变量的代码不再进行优化

while:一种循环语句

你可能感兴趣的:(C语言,c语言)