【C语言】一些概念的基本解释

1.作用域(scope)

作用域是程序设计概念,通常来说,一段代码中所用到的名字并不总是可用的,限定这个名字的可用性的代码范围就是这个名字的作用域。

变量有两种,局部变量和全局变量

局部变量的作用域就是变量所在的局部范围,只要不在局部范围内,变量就无法正常使用,

 就行这个时候,我们要打印一个a,但是打印函数并不在函数体内,变量a就是局部变量,它起作用的范围就是整个函数体,于是printf函数无法起作用。

全局变量的作用范围是整个工程

 如图,上方就是全局变量,在下方的函数体在它可起作用的范围之内。

既然是一个工程,那么我们再创建一个文件,在另一个文件中放置一个全局变量T,

 全局变量T,并没有在另一个文件中起作用,错误提示是未定义标识符,这是为什么?

这里如果想要它正常运行,我们需要对T进行声明。

使用函数extern int声明,这样就可以了

2.生命周期

生命周期就是从创建变量到销毁这之间的时间

局部变量的生命周期是从它所在那一行开始到这个函数体结束,在外面对变量所进行的操作并不会奏效。

 接下来是全局变量,这个比较简单,既然他的范围是整个工程,那么他的生命周期就是整个工程结束。

3.常量

常量的分类

字面常量

就是数字123,字符'a',以及字符串"abcde",这些都是字面常量

const修饰的常量

 这里a是一个变量,此时输出的数是20,当我们用const去修饰这个变量,他就会被锁定,变成一个常变量,

 此时便无法运行,这就是const修饰的常变量。

那么为什么叫常变量?

常是因为他有了常属性,即不会改变,变是因为他本质上依旧是一个变量,下面是证明

 我们建立一个数组,其中的中括号中只能填写常数,即使b已经被const修饰锁死,但他的本质属性还是变量,所以称为常变量。

#define定义的标识符常量

利用#define直接定义一个常量

 枚举常量

枚举常量就是可以一一列举的低昂,比如月份,星期这些,

我们要引入一个关键词,枚举关键词enum,使用这个来对一些常量进行列举

 如图,我们列举了一到五,最终打印输出时显示的是数字0到4,

这是因为枚举常量的值是从零开始的,我们也可以对其进行赋值,但不能说他的初始值就是所赋值,这时的值应被称为赋初值。

4.字符串

用双引号括住的就是字符串,全程字符串字面值

要注意,字符串的结束标志是一个\0的转义字符,

我们引入一个数组的概念,数组就是一组相同类型的元素,

如图,我们对他进行调试,打开监视,监视arr,我们可以看到,

 字符串长度仅有四,但他却有五个项,最后一个便是\0,表示该字符串结束。

在我们直接打出的字符串中,\0是被隐藏起来的,

这是一种证明,或者我们可以打印字符串

 我们可以看到,字符串的打印十分正常,然而下面字符的打印后面却出了一堆乱码,就是因为字符串比字符多了\0这个结束符号,如果我们在字符中手动添加\0,

 此时则正常打印。

还可以使用strlen()函数,先要引用头文件<string.h>

 我们可以看到,字符串正常,字符则是随便的一个 数字,其原因相同。

5.转义字符

顾名思义,转变原来的意思

 如图,程序并没有按照我们想的打印,而是出了几个空,因为\t就是转义字符

以下是一些转义字符

\?书写多个问号时使用,防止被解析成三字母词

\'用于表示字符常量

 出现此情况时就要用它

 这样就可以打印出‘

举一反三的,\”用法与之类似

\\用于表示一个反斜杠,防止被解释为转义序列号

之前的一个情况就可以使用它

 这样就打印出我们想要的了。

\a警告符号,蜂鸣

\b退格符

\f进纸符

\n换行

\r回车

\t水平制表符

\v垂直制表符

\ddd  ddd表示1到3个八进制数字

\xdd  dd表示2个十六进制数字

后面两个最后输出的结果可能是符号,他运用了ASCII码值转换数字,

键盘上有许多种符号,就用数字把这些符号表示起来

下面是ASCII码表

 6.注释

注释有两种方法

在前面加//,这是C++的注释风格,同时也是目前主要的注释方法

/*代码*/是C语言的注释风格,但他有缺陷,不支持嵌套注释,如下

 最下面的大括号没有被注释,当他遇到第一个*/时,注释就终止了。

我们可以在代码错误时直接将它注释掉,但注释的最主要用途还是为我们做注释。

当我们写了一个比较复杂的代码时,我们需要注释来让别人更好的阅读,同时也可以让我们以后看时更容易回想起来自己的思路。

=========================================================================今天就到这里,有点晚了,挺困的,明天见!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒世伞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值