c语言标识符有哪三类?

在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。

c语言标识符的分类

C语言中标识符有三类,分别是:关键字、预定义标识符和用户标识符。

1、关键字(Keywords)

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字,例如 int、char、long、float、unsigned 等。我们定义的标识符不能与关键字相同,否则会出现错误。

你也可以将关键字理解为具有特殊含义的标识符,它们已经被系统使用,我们不能再使用了。

标准C语言中一共规定了32个关键字:

1.png

2、预定义标识符

C语言中系统预先定义的标识符,如函数库中的函数名、宏定义和类型别名(typedef)。

预定义标识符具有见字明义的特点,如函数“格式输出”(英语全称加缩写:printf)、“格式输入”(英语全称加缩写:scanf)、sin、isalnum等等。

预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原意,使用不当还会使程序出错。

注:C语言函数库中的函数名可以成为用户定义的变量名!!!

3、用户定义标识符

用户根据需要自己定义的标识符。一般用来给变量、函数、数组等命名。用户标识符如果与关键字相同,则编译时会出错;如果与预定义标识符相同,编译时不会出错,但预定义标识符的原意失去了,或会导致结果出错,因此预定义标识符一般不用来作为用户标识符。


推荐文章
strspn和strcpn函数,C语言strspn和strcpn函数详解

strspn函数表示从字符串s的第一个字符开始,逐个检查字符与字符串accept中的字符是否不相同,如果不相同,则停止检查,并返回以字符串s开头连续包含字符串accept内的字符数目。其函数原型的一般

Shell数组拼接,Shell数组合并

所谓Shell数组拼接(数组合并),就是将两个数组连接成一个数组。 拼接数组的思路是:先利用@或*,将数组扩展成列表,然后再合并到一起。具体格式如下: array_new=(${array1[@]

Spring IoC容器:BeanFactory和ApplicationContext

在教程前面介绍Spring框架时,已经提到过Spring的IoC(控制反转)思想,本节来详细介绍一下Spring的Ioc容器。 IoC是指在程序开发中,实例的创建不再由调用者管理,而是由Spring

Excel文本函数有哪些?

Excel中文本函数有哪些?下面本篇文章给大家介绍一些Excel常用的文本函数。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1、EXACT函数描述:字符串的比较语法结构:=EXAC

SEO关键词竞争激烈程度分析

当我们挖掘了足够多的关键词时,首先考虑的工作并不是如何将这些关键词部署到网站上,而是应该认真仔细地对关键词进行竞争分析。关键词竞争分析的工作不同于关键词挖掘,需要综合关键词的搜索结果数、竞价结果数、大

C++ partial_sort()函数详解

假设这样一种情境,有一个存有100万个元素的容器,但我们只想从中提取出值最小的10个元素,该如何实现呢? 通过前面的学习,读者可能会想到使用sort()或者stable_sort()排序函数,即通过

PHP getimagesize():获取图像大小

PHPgetimagesize()函数用来获取图像的大小,其语法如下: arraygetimagesize(string$filename[,array&$imageinfo]) getimages

Qt自定义对话框及调用方法(无师自通)

在一个应用程序设计中,为了实现一些特定的功能,有时候需要设计自定义对话框。 自定义对话框的设计一般从QDialog继承,并且可以采用UI设计器可视化地设计对话框。对话框的调用一般包括创建对话框、传递

什么是计算机?

计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬

虚函数和纯虚函数的区别是什么?

虚函数和纯虚函数1、虚函数与纯虚函数,在他们的子类中都可以被重写它们的区别是:1)、纯虚函数只有定义,没有实现;而虚函数既有定义,也有实现的代码。纯虚函数一般没有代码实现部分,如virtualvoid

C语言中的二进制数、八进制数和十六进制数

C语言中的整数除了可以使用十进制,还可以使用二进制、八进制和十六进制。 二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、

虚拟存储技术是什么?

虚拟存储技术是一种利用外存扩大内存容量的技术。其基本思想是利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间。引入它的前提是:程序局部性原理时间局部性原理空间局部性原

Struts2文件上传简介

文件上传是指将本地文件上传到服务器的指定目录下。使用Struts2框架进行文件上传时,首先需要对form表单进行设置,将其enctype属性设置为multipart/form-data,method属

tcp/ip参考模型分为哪几层?

TCP/IP协议栈是美国国防部高级研究计划局计算机网(AdvancedResearchProjectsAgencyNetwork,ARPANET)和其后继因特网使用的参考模型。ARPANET是由美国国

Qt MDI及其使用方法(详解版)

传统的应用程序设计中有多文档界面(Multi-documentInterface,MDI)应用程序,Qt为设计MDI应用程序提供了支持。 本节的实例samp6_4是一个MDI应用程序,程序运行效果如

svn是什么工具?

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。SVN(Subvers

Java数字格式化

数字的格式在解决实际问题时使用非常普遍,这时可以使用DedmalFormat类对结果进行格式化处理。例如,将小数位统一成2位,不足2位的以0补齐。 DecimalFormat是NumberForma

Unity 3D触发器(Trigger)

在Unity3D中,检测碰撞发生的方式有两种,一种是利用碰撞体,另一种则是利用触发器(Trigger)。 触发器用来触发事件。在很多游戏引擎或工具中都有触发器。 例如,在角色扮演游戏里,玩家走到一

Spring Boot简介

Spring 基于Spring开发Web应用更加容易。 采用基于注解方式的配置,避免了编写大量重复的XML配置。 可以轻松集成Spring家族的其他框架,比如SpringJDBC、SpringD

填充CachedRowSet对象记录集(三种方法)

实训内容和要求 运用三种不同的方法填充CachedRowSet对象内部的记录集结构(crs是CachedRowSet类的实例对象)。 实训步骤 方法一,jlj01.jsp的代码如下: 方法