C语言中三个关键字的作用
extern , static , const。
1.extern作用:声明外部变量
在1.c文件中定义一个num,赋值num = 100;用extern在2.c文件中进行声明,
注:num在1.c里面定义,在2.c里面使用时,需要声明,但不能被初始化,并且告诉编译器num在其他文件中被定义
注:在2.c文件中打印num的值,num = 100;
2.static的作用
一、修饰全局变量,改变变量的作用域, 只能在本文件中使用。
在1.c中用static修饰全局变量num时,在2.c中num会报错。
1.c
2.c
二、static修饰函数:改变函数的作用域,只能在本文件中使用
在2.c中将函数 f() 用static修饰,在1.c中就不能调用 f() 函数
2.c
三、static修饰局部变量,叫静态变量(存放在静态数据区):改变变量的生命周期,直到程序结束释放。
例:
结果为:
用static修饰后
3.const的作用
一、const修饰只读变量:不能通过本身修改变量的值,可以通过其他方式修改
注:const修饰只读变量a,不能通过a++改变本身的值,只能 通过指针p来修改
二、const修饰指针,就近原则
注:
1.const修饰 qq 指针指向的内存不能修改;指针本身可以修改。
2.const修饰 q1 指针指向的内存可以修改;指针本身不能修改。
3.指针指向的内存不能修改;指针本身不能修改。*
三、const修饰函数形参
注:自己实现一个字符串的拷贝
*注:const修饰的是 src //src指向的字符串不能修改,指针本身可以修改;