C语言修饰变量的关键字

 1.const含义?
eg:
const int a;
int const a;
const int *a;
int *const a;
int const *a const;
解析:
1.前两个的作用是一样的,a是一个常整型数。
2.第三个意味着a是一个指向常整型的指针(也就是,整型数是不可修改的,但指针可以)
3.第四个意味着a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可以修改的)。
4.第五个意味着a是一个指向常整形数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可以修改的)。
eg:int b=500;
const int* a = &b;(1)
int const *a = &b;(2)
int* const a = &b;(3)
const int* const a = &b;(4)
解析:如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。因此(1)(2)的情况相同,都是指针所指向的内容为常量(const放在变量声明符的位置无关),这种情况下不允许对内容进行更改操作,如:不能*a=3;(3)为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如:a++是错误的;(4)为指针本身和指向的内容均为常量。
2.关键字static的作用是什么
static 表示静态的变量,分配内存的时候, 存储在静态区,不存储在栈上面.
static修饰的全局变量声明与定义同时进行,也就是说当你在头文件中使用static声明了全局变量后,它也同时被定义了
1).在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2).在模块内(但在函数体外)一个本声明为静态变量的变量可以被模块内所用函数访问,但不能被模块外其他函数访问。它是一个本地的全局变量。
3).在模块内,一个被声明为静态的函数只可被这一模块内的其他函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值