C语言中变量名及函数名的命名规则与驼峰命名法
一、C语言变量名的命名规则:(可以字母,数字,下划线混合使用)
1. 只能以字母或下划线开始;
2. 不能以数字开始;
3. 一般小写;
4. 关键字不允许用(eg:int float=2//error float 为保留字不允许用);
二、函数名的命名规则
1.见名知意;
2.自定义函数函数名首字母大写(库函数里的函数名都是以小写字母定义,为了区分库函数和自定义函数,避免冲突)。
三、宏定义里面的变量 全大写
eg:
#define SIZE 100(后面函数所有出现的SIZE全用100代替,它在所有函数执行前先执行)
在程序设计中,变量名、函数名、数组名等统称为标识 符。简单地说,标识符就是一个名字。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能由字母(a~z,A~Z)、数字 (0~9)、下划线(_)组成,并且标识符的第一个字符必须是字母或下划线,不能以数字开头。C语言不限制标识符的长度,但它受各种C语言编译器的限制, 同时也受到具体机器的限制。例如,在某编译器中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。建议变量名的长度最好不要超过 8个字符。
以下标识符是合法的:
i、a、count、 number_of_book、BOOK_NUMBER、sum100、_total。
以下标识符是非法的。
3com:以数字开头。
char:char是C语言的一个数据类型,是 保留字,不能作为标识符,其他的如int、float等类似。
a*b:*不能作为标识符的字符。
number of book:标识符中不能有空格。
注意:C语言是区分大小写的,如Count与count被认为是两个不同的标识符。
2.7.2 关键字
关键字是由C语言规定的具有特定意义的字符串,通常 也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类。
(1)类型说明符
用于定义、说明变量、函数或其他数据结构的类型,如 int,double等。
(2)语句定义符
用于表示一个语句的功能。例如,后面章节将会介绍的 “if else”就是条件语句的语句定义符。
(3)预处理命令字
用于表示一个预处理命令,如前面用到的 include。
2.7.3 命名规范
如果只是编写一些小程序,程序只有几十或几百行,编 程风格可能并不重要。然而,如果是和许多人一起进行一定规模的项目开发,或者希望过一段时间之后,还能够快速而准确地理解自己的程序,就必须养成良好的编 程习惯。良好的编程风格可以增加程序代码的可读性。编程风格最能体现一个程序员的综合素质。变量的命名规范是编程风格的一项重要内容。
变量的命名规范有很多种。在Windows下开发软 件,许多人采用匈牙利命名法,而在Linux环境下,并不建议使用这种方法。
Linux下建议的命名规则如下。
(1)变量名必须有一定的意义,并且意义准确。例如 有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用 number或book,因为意义不准确。
(2)不建议大小写混用。如定义一个计数变 量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合 使用,一般标识符只由小写字母,数字和下划线构成。
(3)在失去意义的情况下,尽量使用较短的变量名。 例如有一个变量,用于暂时存储一个计数值,把变量命名为tmp_count显然要比this_is_a_temperary_counter好。
(4)不采用匈牙利命名法表示变量的类型。如int nCount;n用于说明变量的类型,在Linux中不建议这样命名变量。
(5)函数名应该以动词开头,因为函数是一组具有特 定功能的语句块。比如一个函数,它用于取得外部输入的数值,则可以命名为get_input_number。
(6)尽量避免使用全局变量。全局变量在后面的章节 中会介绍。
变量的命名规范
1、起名要有意义
2、只能以英文字母、下划线( _ )、美元符号( $ )开头。后面可以接数字、英文字母、下划线和美元符号( $ )(可以使用中文,但不推荐使用)
3、不能是C语言中的关键字
C语言中的关键字
关键字就是已被C语言本身使用,不能作其它用途使用的字。
例如关键字不能用作变量名、函数名等,C语言中一共有32个关键字
auto register unsigned if while static
double int struct break else long switch case enum typedef char extern return union const float short
continue for signed void default goto sizeof volatile do
在Xcode中如果显示为淡紫色的都是关键字(没有更改设置的情况下)。
标示符命名规范
1、起的名字要有意义
如:避免使用a、b、c等单个字母名字。或者避免使用xsffsdsdsrew之类的字符做名字!
推荐标示符起名就知道是什么意思,如给一个变量起名:age。一看就知道这个变量是用来保存年龄的
2、标示符才用驼峰命名法

注解:
驼峰命名法(Camel-Case)
驼峰命名法(Camel-Case)是电脑程序编写时的一套命名规则(惯例)。
程序员们为了自己的代码能更容易的在同行之间交流,所以才取统一的可读性比较好的命名方式。例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来表示,可以增加程序可读性。
驼峰命名法就是当变量名或函数名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单字以小写字母开始,第二个单字的首字母大写;或每一个单字的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故而得名。
驼峰命名法(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而Larry Wall等人所著的畅销书《Programming Perl》的封面图片正是一匹骆驼。 驼峰命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
C语言中变量名及函数名的命名规则与驼峰命名法的更多相关文章
- Java语言基本语法(一)————关键字&标识符(Java语言标识符命名规范&Java语言的包名、类名、接口名、变量名、函数名、常量名命名规则 )
一.关键字 关键字的定义和特点 定义:被Java语言赋予特殊含义,用做专门用途的字符串(单词). 特点:关键字中所有字母均为小写 下面列举一些常用的关键字. 用于定义数据类型的关键字:byte.sho ...
- PHP中的变量名,函数名,类名是区分大小写的吗
在PHP中,自定义的函数名,类名,以及内置的函数,关键字是不区分大小写的,比如: class,Class,CLASS,while,While,ECHO,echo,NULL,Null 都是一样的. 但是 ...
- C语言中变量和函数的作用域和链接属性
C语言中变量和函数的作用域和链接属性 作用域 代码块作用域: 代码块指的是使用"{}"包围起来的部分. 在代码块中定义的变量,代码块之外是不能访问的. 代码块嵌套之后的变量作用域, ...
- 在COM接口中不要使用同时出现只是大小写不同的名字作为属性名、函数名或者参数名
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在COM接口中不要使用同时出现只是大小写不同的名字作为属性名.函数名或者参数名.
- JavaScript变量名与函数名的命名规范
JavaScrip变量名与函数名的命名规范严格遵循以下5条: (1)首字符必须是字母.下划线.$,后跟任意的字母.数字.下划线.$ (2)严格区分大小写 (3)不能使用系统的关键字和保留字 (4)命名 ...
- C语言中变量、全局变量与变量的作用域
什么是变量: 变量常量都是表征数据的一种形式:常量用来表示数据的值: 变量不仅可以用来表示数据的值:还可以用来存放数据:因为变量对应着一定的内存单元: 变量和常量必须先定义后使用. 变量名和常量名都是 ...
- js中变量提升和函数提升
变量提升和函数提升的总结 我们在学习JavaScript时,会遇到变量提升和函数提升的问题,为了理清这个问题,现做总结如下,希望对初学者能有所帮助 我们都知道 var 声明的变量有变量提升,而 let ...
- C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期
全局变量 作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件.) 生命周期:程序运行期一直存在 引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量. 内 ...
- C语言中可变参数的函数(三个点,“...”)
C语言中可变参数的函数(三个点,“...”) 本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end ...
随机推荐
- How to create a custom action type with a custom control (BarCheckItem), associated with it
https://www.devexpress.com/Support/Center/Example/Details/E1977/how-to-create-a-custom-action-type-w ...
- PS入门到精通完全自学教程
ps视频教程,ps自学视频教程.ps免费视频教程下载,PS入门到精通完全自学教程视频内容较大,分为俩部分: PS入门到精通完全自学教程-第一部分(带swf播放器):百度网盘,https://pan.b ...
- [环境配置]Ubuntu16.04下编译安装gcc6.3.0
上一篇的SVS要用gcc6.3编译,否则结果不正确,本来以为gcc很好装,结果发现用apt-get安装gcc6只能安装6.5版本,代码作者奇特的要求只能用gcc6.3,没办法只能用源码装了,期间碰见了 ...
- python快速入门——进入数据挖掘你该有的基础知识
这篇文章是用来总结python中重要的语法,通过这些了解你可以快速了解一段python代码的含义 Python 的基础语法来带你快速入门 Python 语言.如果你想对 Python 有全面的了解请关 ...
- 算法工程师进化-SQL
1 引言 SQL操作往往是程序员必备的技能,对于算法工程师而言,熟练掌握SQL操作则更为重要.本文以<SQL语句执行顺序>作为学习资料,总结SQL的理论部分. 2 SQL查询语句的执行顺序 ...
- python数据分析画图体验
对于numpy的函数,pands等,不是很熟,我来copy一下code,敲击一下,找找感觉. 默认的导入包import numpy as npimport matplotlib.pyplot as p ...
- flume handler
1.classpath classpath中需要这两项:Flume Agent configuration file and the second are the Flume client jars ...
- java程序设计课程实验报告1
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:陈都 学号:20135328 成绩: 指导 ...
- Linux环境下Web环境搭建——Nginx
1.安装依赖 yum -y install make gcc gcc-c++ ncurses-devel ##编译环境 yum -y install zlib zlib-devel openssl ...
- 第二阶段每日站立会议Forth Day
昨天对于程序中的字体显示进行细化修改,使界面更美观 今天准备继续调试手机界面 遇到的问题:上几次Tomcat运行正常,今天突然出现问题,Tomcat服务可以打开,但是无法连接到数据库