您的位置 首页 知识

c语言定义变量名的要求(C语言变量初始化)

c语言变量命名规则?

C语言变量命名规则

在定义变量时,变量名可以是字母、数字和下划线的组合。但是也不是随便的组合,要注意以下几个命名规则:

1) 变量名的开头必须是字母或下划线,不能是数字。实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。

随便打开一个头文件就会看到,它里面所有的变量名、宏名、函数名全是以下划线开始的。

打开 VC++ 6.0 或者 VS 2010 等,然后在里面随便写一个头文件名,比如 stdio.h,然后选中它,右击,在弹出的快捷菜单中单击Open Document”stdio.h”就打开stdio.h这个头文件了。这时需要注意的是,打开后千万不要改动里面的内容,看看就行了。

所以为了避免与系统定义的名字产生冲突,在编程的时候,除非要求这么定义,否则永远都不要使用下划线作为一个变量名的开头。

2) 变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。

3) 变量名绝对不可以是C语言关键字,这一点一定要记住!

4) 变量名中不能有空格。这个可以这样理解:因为上面我们说过,变量名是字母、数字、下划线的组合,没有空格这一项。

命名规范

以上变量命名规则是C语言语法规定的,必须遵守,不遵守就是错的。除此以外,在实际开发中程序员还形成了一种变量命名“习惯”,或者说是约定成俗的变量命名规范,它们虽然不受语法的约束,但是遵守这些“事实标准”会让代码更加专业,更加高大上。

1) 禁止取单个字母作为变量名(如 a、b、c、d、i、j、k、m、n……)。在前面的讲解中之所以用单个字母,只是为了方便讲解,以免喧宾夺主。刚开始学的时候也可以用,但是不要永远就只会用单个字母。

那为什么不要定义成单个字母呢?原因很简单——没有含义!你定义变量 a,其他人怎么知道这个 a 是什么意思?就算有注释,但难免会忘记。

所以在定义变量的时候,变量名最好要有明确的含义,这样可以提高代码的可读性。不管是自己写程序,还是别人读你的程序,都会很舒服。

在实际编程中经常用英文单词或英文单词的缩写来作为变量名,而且缩写也有一定要规则:

通常较短的单词可通过去掉“元音”形成缩写,比如表示“个数”的 count 可以缩写成 cnt;

较长的单词可取单词中的几个字母形成缩写;

对于一些单词还有大家公认的缩写,比如:

temp 可缩写为 tmp; //temp是“临时”的意思

flag 可缩写为 flg; //flag是“标志位”的意思

statistic 可缩写为 stat; //statistic是“统计”的意思

increment 可缩写为 inc;

message 可缩写为 msg;

如果变量名由多个单词组成而且不用缩写,那么每个单词的首字母全部都要用大写,必要时可用下划线分隔。

2) 但并不是说就绝对不可以用单个字母,有些变量它本身就是没有含义,我们也不能硬生生给它赋予含义,这时候就可以用单个字母。比如后面学习循环语句的时候,里面有一个循环变量,它就是定义成 i、j、k,这已经是公认的了。

但大多数情况下,在编程的时候变量都是有含义的,这时候就应该用英文单词或英文单词的缩写作为它的名字。

C语言变量的值在什么时候初始化?

在C语言中,变量的值在不同的情况下会有不同的初始化方式。静态变量和全局变量会在程序开始时初始化为0,而自动变量和动态变量则不会进行初始化。

如果程序员没有手动给变量赋初值,那么它们的值将是不确定的。这是因为变量使用之前,需要先分配内存地址,而内存中的原始值是未知的。因此,在使用变量之前,应该手动初始化它们,以确保程序的正确性和可靠性。

c语言的变量定义

c语言的变量定义如下:

变量是内存或寄存器中用一个标识符命名的存储单元,可以用来存储一个特定类型的数据,并且数据的值在程序运行过程中可以进行修改。变量是一个标识符或者名称。为了方便,程序员在给变量命名时,会符合大多数人的习惯,基本可以望名知义,便于交流和维护。其次,变量是唯一确定的对应内存若干存储单元或者某个寄存器。

c语言中for循环中能不能定义一个变量

  • 我的目的是把算的数放在数组d中,然后累加到R11中显示出来,但结果表明算错了,我这样的表达有错吗怎样改啊,哪位哥哥 能给我说下for(i=0;in;i++){d[i]=(b[i+201]-b[200+i])*a[i+200]*(1Rt); printf("d[%d]=%10.8fn",i,d[i]);}for(i=0;in;i++)R11+=d[i];这是运算结果 ,R11应该是前面那7个D的和 这个明显大了
  • R11没初始化吧

C语言。能否这样定义字符变量啊char a="";

  • ""表示一个字符串,只有一个字符0&#乏锭催瓜诎盖挫睡旦精39;,所以""字符串有一个字符,但是可以放入一个字符变量吗。
  • C语言实际上没有字符串乏锭催瓜诎盖挫睡旦精这一概念,只有字符数组或字符指针定义字符变量,可以 char a=0;

c语言,定义c为全局变量,那char c[ ]="china" printf("%s",c),这么

  • c语言,定义c为全局变量,那char c[ ]="china" printf(&quo敞海搬剿植济邦汐鲍搂t;%s",c),这么写行么?
  • 加上分号应该是可以的~

c语言中 函数调用结束后,函数内定义的静态变量所占用的空间被释放 这句话正确吗?求解释

  • c语言中 函数调用结束后,函数内定义的静态变量所占用的空间被释放 这句话正确吗?求解释
  • 错。静态变量所占用的空间会一直保留到整个程序的结束。

易语言怎么设置一个自定义RSA全局变量啊?

  • .版本 2.全局变量 RSA算法, RSA算法
  • 系统没有这个类你这样写肯定不行呀,你这个是引用模块的还是?

vc6.0为什不能再for语句里面定义变量,书上说的C99标准时可以的啊?C语言

  • 因为vc6.0是c89标准,不能再for语句里面定义变量

单片机c语言编程怎样定义外部全局变量

  • 我只在一个头文件里面定义了 extern float FCLK; 在其它c文件包含了这个头文件,就直接用这个变量,不再进行定义,为什么会出现没有定义提示
  • extern只是声明,需要在某个头文件里面定义才可以

c语言自定义函数变量交换

  • #includestdio.hvoid fun(int x,int y){int t;t=x;x=y;y=t;}int main(){int a,b;a=3,b=4;fun(&x,&y);printf("%d,t%d",a,b);}要求修改fun()函数改变变量a和b值的位置,请问有没有修改fun()实现位置变换?
  • 可以啊,传指针void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t;}

C语言指向数组的指针变量函数定义问题。

  • 是在没看出哪里出问题求指点。问题补充:
  • 你的主函数传了什么参数你直接传a不可以吗?

返回顶部