C语言中的命名规则(期末版)


一、概述

命名规则是编程语言中的重要组成部分,它决定了变量、函数、常量等标符的命名方式。在C语言中,良好的命名规则可以增加代码的可读性和可维护性,提高程序的质量和开发效率。本文将详细介绍C语言中的命名规则,包括标识符的命名规范、命名风格和命名约定等方面。


二、标识符的命名规范


在C语言中,标识符是用来表示变量、函数、常量等的名称。标识符的命名规范如下: 


1.字母和数字


标识符由字母、数字和下划线组成,且必须以字母或下划线开头。C语言区分大小写,因此大写字母和小写字母被视为不同的字符。


2.长度限制


标识符的长度通常不超过31个字符,超过部分会被截断。尽管C语言标准没有规定具体的长度限制,但通常遵循这个约定可以提高代码的可读性。


3.关键字和保留字


C语言中有一些关键字和保留字被用于表示特定的语法和功能,这些单词不能用作标识符。例如,“if”、“for”、“while”等都是C语言的关键字


4.规范命名


标识符的命名应具有描述性,能够清晰地表达其含义。一般来说,标识符应该是名词或名词短语,并且尽量避免使用缩写和简称。例如,“studentName" 比” stuName"更能表达变量的含义。


三、命名风格


命名风格是指在给标识符命名时采用的具体方式和规范。C语言中常见的命名风格有以下几种: 


1.驼峰命名法


驼峰命名法是将单词的首字母大写,并将多个单词连接起来,形成一个新的标识符。例如,"studentName"是一个采用驼峰命名法的变量名。


 
2.下划线命名法


下划线命名法是将单词之间用下划线连接起来,形成一个新的标识符。例如,"student_name”是一个采用下划线命名法的变量名。


 3.全部小写


有些程序员习惯将标识符全部使用小写字母,以增加代码的可读性。例如,“studentname”是一个采用全部小写命名风格的变量名。


4.全部大写


有些常量的命名习惯采用全部大写字母,并用下划线分隔单词。例如,"MAX_SIZE”是一个采用全部大写命名风格的常量名。


四、命名约定


除了命名规范和命名风格外,还有一些命名约定可以帮助程序员更好地组织和管理代码。


1.变量命名


变量的命名应该具有描述性,能够清晰地表达其用途和含义。一般来说,变量名应该是名词或名词短语,并且尽量避免使用单个字母或数字作为变量名。例如,“studentName"比” n^”更能表达变量的含义。


2.函数命名


函数的命名应该具有描述性,能够清晰地表达其功能和用途。一般来说,函数名应该是动词或动词短语,并且尽量避免使用缩写和简称。例如,“calculateAverage”比”calcAvg”更能表达函数的含义。


3.常量命名


常量的命名应该全部大写,并用下划线分隔单词。常量的命名应该具有描述性,能够清晰地表达其值和含义。例如,“PI”是一个采用命名约定的常量名。


4.类型命名


类型的命名应该具有描述性,能够清晰地表达其用途和含义。一般来说,类型名应该是名词或名词短语,并且尽量避免使用缩写和简称。例如,"Student”是一个采用命名约定的类型名。


五、总结


C语言的命名规则对于程序的可读性和可维护性至关重要。良好的命名规范、命名风格和命名约定可以使代码更易于理解和维护,提高开发效率和代码质量。程序员应该养成良好的命名习惯,注重命名的规范性和描述性,以提高代码的可读性和可维护性。

本篇文章是我期末考试中涉及到了,特地上网查了下,是自己对其有个清晰的认识。

另外其对我们以后的编程得心应手有着一定的帮助。


 

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

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

相关文章

Android 13.0 SystemUI下拉状态栏定制二 锁屏页面横竖屏时钟都居中功能实现一

1.前言 在13.0的系统rom定制化开发中,在关于systemui的锁屏页面功能定制中,由于在平板横屏锁屏功能中,时钟显示的很大,并且是在左旁边居中显示的, 由于需要和竖屏显示一样,所以就需要用到小时钟显示,然后同样需要居中,所以就来分析下相关的源码,来实现具体的功能 2.S…

Android Studio 虚拟机 Unknown Error 解决

前言 尝试了网上很多解决方式,但很遗憾,都没效果; 于是我就想啊🤔,虚拟机属于SDK的一部分,那有没有一种可能,是SDK出了问题; 于是我就换了新的SDK,结果 ---- 完美解决…

网络安全技术新手入门:利用永恒之蓝获取靶机控制权限

目录 前言 一、搜索永恒之蓝可用模块 二、使用攻击模块 三、配置攻击模块 四、攻击 五、总结 前言 相关法律声明:《中华人民共和国网络安全法》第二十七条 任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动&…

RibbonGroup添加QAction

实际项目中,group中需要添加按钮与点击事件: 添加实例如下: if (Qtitan::RibbonGroup* groupClipboard pageHome->addGroup(tr("Clipboard"))) { //右下角按钮显示 groupClipboard->setO…

IP-Adapter:用于文本到图像扩散模型的文本兼容图像提示适配器

文章目录 一、IP-Adapter简介二、IP-Adapter与img2img的区分(一)结构上的区别(二)流程上的区别(三)输出上的区别(四)原理上的区别 三、IP-Adapter的网络架构(一&#xff…

GAP:Skeleton-based Action Recognition

Generative Action Description Prompts for Skeleton-based Action Recognition解析 摘要1.简介2. Related work2.1. Skeleton-based Action Recognition2.2 Human Part Prior2.3. Multi-modal Representation Learning3. 方法介绍3.1 生成动作提示框架3.2. Skeleton Encoder3…

基于Go框架,Cloudreve个人免费开源网盘系统源码,支持云存储(七牛、阿里云OSS、腾讯云COS、又拍云、OneDrive)

源码介绍 在数字化时代,我们经常需要存储、分享大量的文件,如照片、视频、文档等。然而,许多商业网盘服务却存在限速、收费等问题,给用户带来诸多不便。现在,我们为您推荐一款免费开源的网盘系统——Cloudreve。 Clo…

PostgreSQL认证考试PGCA、PGCE、PGCM

PostgreSQL认证考试PGCA、PGCE、PGCM 【重点!重点!重点!】PGCA、PGCE、PGCM 直通车快速下正,省心省力,每2个月一次考试 PGCE考试通知 (2024) 一、考试概览 (一) 报名要…

远程开发之vacode插件Remote - SSH

远程开发之vacode插件Remote - SSH vscode插件(Remote - SSH)ssh config自定义配置跳板机ssh-agent配置(使ForwardAgent配置生效, 免密拉代码)拷贝公钥到服务器(实现免密登录服务器) 通过vscode的Remote - SSH插件, 实现远程服务器进行像本地操作一样使用远程服务器, 亦可进行像…

外贸常用网站

外贸常用网站 网站阿里巴巴国际站阿里巴巴国内站Aliexpress 速卖通shopifyAmazon 亚马逊k3 开山女鞋网bao66 牛包包网爱搜鞋k3 开山网(女鞋)新款网(男女鞋)搜款网(男女衣服)17zwd(女装)17zwd(女装) 物流yunexpress 云途物流 其他amz123 跨境卖家导航amz520 跨境卖家导航 网站 …

YZ虚拟资源下载源码-支持对接公众号-对接支付

这款系统内置的模板是电脑系统下载站的类型,当然你也可以用作其他类型,例如软件下载,其他类型的资源下载,知识付费下载等,改下文字内容即可。 支持商城系统,后台可配置支付。青狐修改增加了很多可用性。 …

C语言实现读写锁和try...catch逻辑

1. 读写锁代码实现 代码示例创建了多个读者线程和一个写者线程来访问共享资源(这里是一个文件)。在读者线程中,使用了文件I/O函数打开文件、映射文件到内存,并对文件内容进行了读取。在写者线程中,也使用了文件I/O函数…

[蓝桥杯 2013 省 AB] 错误票据

题目背景 某涉密单位下发了某种票据,并要在年终全部收回。 题目描述 每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造…

【计算机网络】内容整理

概述 分组交换 分组交换则采用存储转发(整个包必须到达路由器,然后才能在下一个链路上传输)技术。 在发送端,先把较长的报文划分成较短的、固定长度的数据段。 电路交换 在端系统间通信会话期间,预留了端系统间沿路径通信所需…

在Docker上配置TensorFlow

在Docker上配置TensorFlow 配置WSL 参考教程:https://blog.csdn.net/m0_63969219/article/details/124632640 在上述教程配置的过程中,可能很难在微软商店下到ubuntu,下面给出另外一种解决方案: 接着上面教程 wsl --set-defaul…

跟着cherno手搓游戏引擎【5】layer(层)、Glad

编写基类层: Layer.h:提供Attach链接、Detach解绑、Update刷新、Event事件、GetName方法 #pragma once #include"YOTO/Core.h" #include"YOTO/Event/Event.h" namespace YOTO {class YOTO_API Layer{public:Layer(const std::string& nam…

KB5034439更新安装失败(0x80070643)的简易解决方法

KB5034439,官方的说明为:适用于 Azure Stack HCI 版本 22H2 和 Windows Server 2022 的 Windows 恢复环境更新(2024年1月9日发布)。 这个更新与Win10上的KB5034441作用类似,因此也遭遇了相同的安装问题。 服务器在安…

微机原理常考填空总结

hello大家好我是吃个西瓜嘤,这篇节只总结微机原理常考填空题都是干货展示常出现的易错点以及微机原理注意事项。 以下仅代表个人发言 #微机原理 正文开始: 1,区分JZ,JNZ技巧 也就是D70用JZ;D71用JNZ。 JZ;条件ZF1时…

【河海大学论文LaTeX+VSCode全指南】

河海大学论文LaTeXVSCode全指南 前言一、 LaTeX \LaTeX{} LATE​X的安装二、VScode的安装三、VScode的配置四、验证五、优化 前言 LaTeX \LaTeX{} LATE​X在论文写作方面具有传统Word无法比拟的优点,VScode作为一个轻量化的全功能文本编辑器,由于其极强的…

一、QT的前世今

一、Qt是什么 1、Qt 是一个1991年由奇趣科技开发的跨平台C图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务。 2、Qt是面向对象的框架,具有面向对象语言的特性:封装、继承、多态。…