很久之前写的C语言基础,覆盖范围不是很全,发出来请大家指导,包含const、extern、static的使用方法,和使用场景。

const

const 修饰变量 表示变量为常量,不可修改

const int a =1; int const a =1; 相同含义,都表示n为常量不可修改。 a = 2 报错

const char c[10] = “123”; 定义之后不能改变。c[0] =‘3’ 报错。

const int *a; 常量指针 变量不可修改 const char *str;字符串不能修改 str[2] = 1报错

int * const a;指针常量 指针不能修改 char *const str;指针不能修改 str= p 报错

修饰函数参数,和修饰变量,基本没区别

fun(char *str1, const char *str2, char * const str3)

str2字符串在函数内不可修改,str3指针不能修改 str2[0] = ‘0’ 报错 str3=p 报错

extern

引用其它文件的变量或者函数,或者本文件中未定义的全局变量。(在变量使用之后定义的全局变量,也是给网上看到的使用方法)

static

修饰局部变量,函数内static int a =10;只能被初始化一次

修饰全局变量,仅当前文件可以使用

修饰函数,仅当前文件可以使用