C语言——标识符

news2024/11/27 10:26:25

一、标识符是什么

        标识符是C程序的最基本组成部分,例如:变量名称、函数名称、数据类型等等,都是一个标识符。标识符的要求是:必须由字母(区分大小写)、数字、下划线组成。而且,标识符的第一个字符不可以是数字。例如:

abc                ---   合法

_abc123        ---   合法

abc555          ---   合法

123abc          ---   非法

abc$!!           ---   非法

在C语言中,大写字母和小写字母被认为是不同的字符,所以,ABC与abc表述的标识符是不一样的。

二、语言关键字

我们学习了C语言提供的“基本数据类型”,例如char、int这样的数据类型,我们可以使用这个数据类型来定义一个变量,例如:

char c = 'A';

       此时,定义了一个字符型变量,变量的名称是c。那么,我们就有一个疑问,是否可以定义一个变量,变量的名称是int ?测试的例子如下:

#include <stdio.h>                   //包含头文件, 为了使用printf()函数;

int main()                                  //定义程序的主函数, 就是程序的入口地址;

{                                               //主函数的开始标记;

       char int = 'A';                    //定义一个char类型变量, 变量名称是int;

       printf("int = %c\n", int);

       return 0;                             //返回结束状态;

}                                               //主函数的结束标记;

编译的结果如下:

mylinux@ubuntu:~/src/test$ gcc test.c -o exe

test.c: In function ‘main’:

test.c:4: error: two or more data types in declaration specifiers

test.c:4: error: expected identifier or ‘(’ before ‘=’ token

test.c:5: error: expected expression before ‘int’

 可以看到,编译输出了异常,提示“two or more data types in declaration specifiers”,就是声明了太多的数据类型,可以看到,我们想定义一个变量,变量的名称是int,是异常的。

       具体的错误原因是:C语言不允许定义变量的名称为C语言使用的关键字。

       C语言定义的关键字有:

 

C语言提供了这些关键字来设计程序,那么,我们在定义变量名称的时候,就不能够与C语言提供的关键字相同。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1259630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDBC编程基础

JDBC编程基础 JDBC介绍创建JDBC项目的步骤1.引入依赖2.注册驱动3.获取数据库连接4.获取sql执行对象 JDBC 常用 API 详解sql执行对象PreparedStatement作用 事务管理结果集对象 JDBC项目demo测试 JDBC介绍 每个数据库都会提供一组API来支持程序员实现自己客户端&#xff0c;自己…

SQL Server:流程控制语言详解

文章目录 一、批处理、脚本和变量局部变量和全局变量1、局部变量2、全局变量 二、顺序、分支和循环结构语句1、程序注释语句2、BEGIN┅END语句块3、IF┅ELSE语句4、CASE语句5、WHILE语句6、BREAK和CONTINUE语句BREAK语句CONTINUE语句 三、程序返回、屏幕显示等语句1、RETURN语句…

通义灵码,你的智能编码助手,免费公测啦!

目录 ​编辑 1、介绍 2、安装 3、功能介绍 行/函数级实时续写 自然语言生成代码 单元测试生成 代码注释生成 代码解释 研发智能问答 多编程语言、多编辑器全方位支持 4、视频 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家…

TopK问题(用堆解决)

我们继续来延续我们上面的TopK问题&#xff0c;TopK问题一般是在解决有很多数的情况下&#xff0c;我们的k是个和小的值&#xff0c;然后我们是要找到最小或者最大的K个数&#xff0c;这类问题我们也称之为TopK问题&#xff0c;面对这种的问题&#xff0c;如果数字不是很大的情…

java--子类中访问其他成员的特点

1.在子类方法中访问其他成员(成员变量、成员方法)&#xff0c;是依照就近原则的。 ①先子类局部范围找。 ②然后子类成员范围找。 ③然后父类成员范围找&#xff0c;如果父类范围还没有找到则报错。 2.如果父类中&#xff0c;出现了重名的成员&#xff0c;会优先使用子类的…

linux 磁盘管理、分区管理常用命令

文章目录 基础命令挂载新硬盘/分区添加内存交换分区swaplvm分区管理模式 基础命令 查看目录文件大小 du -sh /backup du -sh /backup/* du -sh *查看磁盘挂载信息 df -lhT查看某个目录挂载在哪个分区&#xff0c;以及分区的磁盘使用情况 df [目录] #例如&#xff1a;df /ho…

【Linux】cd 命令使用

cd&#xff08;英文全拼&#xff1a;change directory&#xff09;命令用于改变当前工作目录的命令&#xff0c;切换到指定的路径。 ~ 也表示为 home 目录 的意思。. 则是表示目前所在的目录。.. 则表示目前目录位置的上一层目录。 语法 cd [目录] 命令选项及作用 执行令 …

平均模式恒流控制的LED驱动器:FP7122,打造舒适照明环境的绝佳选择

目录 一、 FP7122概述 二、 FP7122特点 三、 FP7122应用 近年来&#xff0c;随着LED照明技术的迅猛发展&#xff0c;LED驱动器在家庭照明、商业照明以及植物灯等领域扮演着至关重要的角色。其中&#xff0c;平均模式恒流控制的LED驱动器已经成为人们追求舒适照明环境的首选。…

齐活!Spring工程整合Redis实战汇总

&#x1f388;个人公众号:&#x1f388; :✨✨✨ 可为编程✨ &#x1f35f;&#x1f35f; &#x1f511;个人信条:&#x1f511; 知足知不足 有为有不为 为与不为皆为可为&#x1f335; &#x1f349;本篇简介:&#x1f349;本篇记录Spring工程整合Redis实战汇总操作&#xff0…

经典神经网络——GoogLeNet模型论文详解及代码复现

论文地址&#xff1a;[1409.4842] Going Deeper with Convolutions (arxiv.org) 一、GoogLeNet概述 创新点 我认为&#xff0c;这篇文章最大的创新点是引入了一个名为Inception块的结构&#xff0c;能够增加神经网络模型大小的同时&#xff0c;减缓参数量的爆炸式增长&#x…

Java第二十章 ——多线程

本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 在这之前&#xff0c;首先让我们来了解下在操作系统中进程和线程的区别&#xff1a;   进程&#xff1a;每个进程都有独立的代码和数据空间&#xff08;进程上下文…

服务化通信OPC实操

实操也是基于视频进行一些笔记&#xff0c;没得写就少写了 准备 Nuget包准备&#xff1a;OPCfoundation 一般都是使用Ua&#xff0c;当然也是有&#xff1a; 客户端链接服务器参数&#xff1a;IP Port 认证 登录用户名 Session 的实例化创建 进行使用&#xff1a; 因为Ses…

NAS层协议学习(三)

消息结构 每个NAS消息包含一个协议鉴别符和一个消息标识。协议鉴别符是一个 4 位值&#xff0c;指示正在使用的协议&#xff0c;即对于 EPS NAS 消息是 EMM 或 ESM。消息标识指示发送的特定消息。 EMM 消息还包含一个安全标头&#xff0c;指示消息是否受到完整性保护和/或加密…

AI视觉识别有哪些工业应用

AI视觉识别&#xff0c;主要是利用人工智能算法对图像或视频数据进行分析和处理&#xff0c;以提取关键信息并执行筛选、判断、预警等任务。AI视觉识别涵盖多种应用&#xff0c;如人脸识别、目标检测和识别、图像分割、行为识别、视频分析等。本篇就简单介绍一下AI视觉识别的应…

Dockerfile讲解

Dockerfile 1. 构建过程解析2. Dockerfile常用保留字指令3. 案例3.1. 自定义镜像mycentosjava83.2. 虚悬镜像 4. Docker微服务实战 dockerfile是用来构建docker镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本。 dockerfile定义了进程需要的一切东西&…

OpenAI神秘项目Q-star曝光,人类永生或灭绝,将在我们有生之年发生

上周&#xff0c;OpenAI人事风波暂停的尾声中&#xff0c;有个“可能威胁人类”的、代号为“Q*”的神秘项目被抛掷出来。 传言中&#xff0c;Sam Altman被解雇前&#xff0c;几名研究人员向董事会发了一封信&#xff0c;警告一项强大的人工智能发现可能威胁到人类&#xff0c;而…

网络渗透测试(认识)

ARP协议 逻辑地址变成物理地址 32bit的IP地址变换成48bit的mac地址 ARP两个字节&#xff08;0x0806&#xff09; ARP解析协议 每一个主机都有ARP高速缓存&#xff0c;此缓存中记录了最近一段时间的内其他IP地址与其MAC地址的对应关系 如果本机想与某台主机通信&#xff0c;首先…

某医生用 ChatGPT 在 4 个月内狂写 16 篇论文,其中 5 篇已发表,揭密ChatGPT进行论文润色与改写的秘籍

如果写过学术论文&#xff0c;想必会有这样的感受&#xff1a; 绞尽脑汁、茶饭不思、夜不能寐、废寝忘食、夜以继日&#xff0c;赶出一篇论文&#xff0c;然后还被导师点评&#xff0c;“写得就是一坨&#xff01;” 可是&#xff0c;却有人4个月产出了16篇论文&#xff0c;成功…

03、K-means聚类实现步骤与基于K-means聚类的图像压缩

03、K-means聚类实现步骤与基于K-means聚类的图像压缩&#xff08;1&#xff09; K-means聚类实现步骤 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。…

嵌入式八股 | 笔试面试 | 校招秋招 | 详细讲解

〇、前言 作者&#xff1a;赛博二哈 本嵌入式八股撰写初衷&#xff1a;当时求职翻遍了我能找到的所有八股&#xff0c;不论是嵌入式的&#xff0c;计算机基础的&#xff0c;C艹的&#xff0c;都很难看下去&#xff0c;细究其原因&#xff0c;有个最大的痛点&#xff1a; 大部…