常量种类
C语言中,我们常使用的常量有以下几种:
·字面常量 ·const常变量 ·#define定义的标识符常量 ·枚举常量
代码如下
#include<stdio.h>
enum {
papa,
mama,
me,
familynumber
};
int main() {
3.1415926;
const int a = 100;
printf("a=%d\n", a);
#define T 999
printf("T=%d\n", T);
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"));
return 0;
}
如此,我们便得到了字符串的长度,4
|