C语言入门之常量

182 阅读2分钟

什么是常量呢? 就是值不会变化的量,我们称之为常量,常量的值一旦初始化值后就不可以改变其值。

具体有哪些类型的常量

常量也是有数据类型的,不是说C中的所有数据类型都有常量,以后有这些类型的常量

  • 整型常量, 比如 520
  • 字符常量, 'A'
  • 小数常量 3.14
  • 字符串常量 "China"
  • 符号常量

上面我们说到的字符常量,容易被忽略的就是转义字符,比如\n\r都是字符常量,不是字符串常量,这里要注意以下。

符号常量

符号常量也就是C语言中的宏定义,比如定义一个URL符号常量

#include <stdio.h>
#define URL "www.baidu.com"
int main()
{
    printf("%s",URL);
    return 0;
}

具体符号常量后面再学习,这里只是简单的列举一下。

字符串结尾

我们知道在C中的字符串在内存中使用的是一连串的内存存储空间来存放字符,那么程序是如何分辨这个字符串的结尾的呢? 也就是说读到哪里就可以停止读取了,内存中后面的内容已经不再是字符串的内容了。

就是空字符\0,读取字符串,当读取到一个\0空字符标识字符串读取完了。

当然这又引发一个问题,比如有的人利用了字符串这一特性,在读取到\0空字符后就不再读取后面的内容了,来做一些手脚呢? 答案是可以的。

在早些的PHP版本就有人利用空字符,造成在读取字符串时遇到结束符的假象,从而利用系统漏洞谋取便利。

总结

这里就是简单的列举了一下什么是常量,具体如何使用,什么时候应该声明常量,这里我们都没有说过,以后学习到再记录。