下面是我自己对C语言总结的知识点,这些知识是我之前没有很理解的以及我认为新的知识,记录也为了方便我以后回顾当时想法。
1.常量
a.字面常量。
int array[] = { 1, 2, 3, 4, 5 };//1-5都是字面常量
b.const修饰的常变量。
const 用于防止程序在运行中修改变量的值,const
定义的常量是变量。
int n = 10;
int arr[n] = { 0 };
//编译出错,n本身是一个变量,它的值在运行时才确定的,不能作为数组arr的大小
//那下面的呢?
const int n = 10;
int arr[n] = { 0 };
//这也是有问题的,C语言中没有要求const变量在数组大小声明中作为编译时常量使用
//数组的大小应该用字面常量,枚举常量,#define
c.define定义的标识符常量
#define预处理指令来定义常量, 它的指令用于为程序中的常量值指定一个标识符(通常是大写的),这样在代码中就可以使用这个标识符来代替具体的值。
#define PI 3.14159
int main()
{
double r = 5.0;//圆的半径
double s = PI * r * r;//圆的面积
printf("area of a circle %.2f\n", s);
return 0;
}
d.枚举常量
枚举常量的值从0开始,每个后续枚举常量的值比前一个多1。 枚举类型本质上是一种特殊的整数类型,但它为每个整数值提供了一个易于记忆和理解的名称。
2.字符串
C语言中的字符串总是以空字符(\0)结尾,这个空字符被称为字符串的终止符,用于标记字符串的结束,不算作字符串内容。
strlen
strlen库函数,计算(\0)前的字符个数,没有(\0)这个字符则字符个数未知(就是不确定个数)
以及下面的转义字符也是一个字符。'\t','\62','\072'等等一些都是一个字符的长度。
3.转义字符'\'
\62是八进制的转义字符;同样\062是一个明确的八进制转义字符,其中的\后面跟着三位八进制数字(即\ddd)