const:const是C语言的一个关键字,是用来定义常量的。const是常属性的意思,当一个变量被const修饰之后,其值不能再被改变了,但它仍然是一个变量,只不过有了常属性。
我们如何才能验证这一点呢?我们知道,在C99标准中规定了在指定数组大小的时候可以使用变量来进行初始化,但当我们在不支持C99标准的VS2022下使用变量来初始化数组的大小时,编译器会报错,这就说明了:一个变量虽然被const修饰,但其仍然是一个变量,只不过具有了常属性,再被修饰之后就不能再次被修改了。
下面我们来介绍关键字const的用法:
一.修饰局部变量:
const int a=666;
const char* str="abcdefgh";
当a这个变量被const修饰之后,它就不能被再次赋值了,所以在创建a的时候,一定要对其进行赋值操作,如果不初始化,它就只能一直是一个随机值。
"abcdef"是一个常量字符串,当我们在写代码的过程中忘记它是一个常量,就可能会无意地去修改它,而加上const之后,就明确指明这是一个不可被修改的常量字符串,在我们运行程序的时候,如果对其进行修改,编译器就会报错,说明这是一个不可被修改的常量。而不加const进行修饰的话,当我们修改这个常量字符串的时候,编译器不会发现错误,但是很有可能程序就直接崩掉了。
二.修饰全局变量
因为全局变量的作用域是整个工程,所以在我们定义一个全局变量的时候应该尽量去使用const对该全局变量进行修饰,防止我们在写代码的时候无意中修改了全局变量也会对其他代码块内的该全局变量产生影响,就会使我们的程序出错。
typedef:typedef是C语言中的一个关键字,是用来给数据类型进行重命名的,通俗来讲,就是当一个类型名字很长的时候(比如:struct Student S),可以使用typedef给该类型起一个小名(S),用起来的时候更方便一些。该别名只在当前源文件中是有效的。
下面我们来介绍typedef的用法:
一.给C语言内置数据类型进行重命名:
unsigned int num1=10;
typedef unsigned int Uint;
Unit num2=10;
其中num1与num2的效果相同,都是unsigned int类型的。
二:给结构体等自定义数据类型进行重命名:
typedef struct Student
{
int age;
char name[20];
int score;
}Stu;
struct Student n1;
Stu n2;
该代码的意思是将结构体类型 struct Student 重新命名为:Stu。
n1与n2创建的效果一样。