C语言的常量和字符串
目录
- 常量种类
- 字符串
- 总结
常量种类 C语言中,我们常使用的常量有以下几种:
- 字面常量
- const常变量
- #define定义的标识符常量
- 枚举常量
#includeenum { //使用enum来建立枚举常量 papa,//不赋值默认从0开始,如若赋值,从此依次递增 mama, me, familynumber}; int main() { 3.1415926; //普通的字面常量 const int a = 100; //定义const常量 printf("a=%d\n", a); //a被const定义,变得不可修改#define T 999 printf("T=%d\n", T); //使用宏定义常量T(既define的标识符常量) printf("familynumber=%d", familynumber); //枚举常量的应用,打印出一个整形 return 0; }
在用const定义一个常变量后,如仍然给这个常变量赋值,将会出现以下情况
文章图片
注意!!
此时,此常变量既不是变量也不是常量!
因为,如果我们用此常变量定义一个数组的大小时,系统也会报错
文章图片
字符串 C语言中,用char定义字符类型数据变量;
我们知道了例如
'a'
,是一个字符,那么什么是字符串呢?
其实啊,字符串就是多个字符。
“Hello World!”这就是一行简单的字符串。
字符串的结束标志
char arr1[] = {"abcd"}; char arr2[] = {'a','b','c','d'}; char arr3[] = {'a','b','c','d','\0'}; printf("%s\n", arr1); printf("%s\n", arr2); printf("%s\n", arr3);
此时打印出结果为
文章图片
arr2里面有四个字符,与arr3相比,最后缺乏了结束标志\0;
所以出现了经典的烫烫烫烫,这是因为缺乏结束标志,就会导致数据溢出;
那为什么arr1没有问题呢?
因为arr1是由字符组成的字符串,字符串的最后,隐藏有一个结束标准\0,只不过我们看不到罢了~
关于字符串的长度
我们之前了解到,想要得到某个数据类型占据了多少内存,
得用到库函数 sizeof,
那我们如果想要得到一个字符串的长度,那我们应该用什么呢?
strlen
int main() { printf("%d\n", strlen("abcd")); //使用库函数strlen得到字符串的长度,注意;\0不会被计算入内 return 0; }
如此,我们便得到了字符串的长度,4
总结
【C语言的常量和字符串】本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量