C语言重要知识点总结(三)--const、volatile、extern、static、restrict、register关键字解析

本文详细介绍了C语言中的六个重要关键字:const用于定义常量,volatile用于标记可能意外改变的变量,extern指示变量定义在其他文件中,static修饰局部变量使其在函数结束后保留值,同时限制全局变量的作用域,restrict告知编译器变量是唯一访问方式以优化代码,register尝试将变量存储在CPU寄存器以提高效率。
摘要由CSDN通过智能技术生成

一、const

C语言中关键字const用来定义一个常量,如果一个变量被const修饰,那么它的值就不能再改变,只能被读取。
(一)const修饰局部变量时**
const int num = 10;
int const num = 10;
上述两种对变量num的定义都是正确的,此时不能再重新给num赋值,num成为一个只读变量。如果强制给num重新赋值,会出现程序错误。
(二)const与指针
1.const int* p = &num
int const *p = &num
上面两种定义方法相同,const修饰的是一个int型的指针p,p中存放的是num的地址。因此p是一个常量指针。
常量指针指的是不能通过这个指针来改变变量的值,但是可以通过其他引用方式给变量重新赋值,并且此时的指针p也可以指向其他地址。

int main()
{
	int num = 10;
	n = 100;
	const int* p = #
	*p = 30;//程序报错
	num = 20;//重新赋值,num的值变为20
	p = &n;//将指针指向其他地址
	return 0;
}

2.int* const p = #
此时的指针p是一个指针常量,指的是指针本身是一个常量,因此指针不能再指向其他任何地址,但是p所指向的变量num的数值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值