const和volatile和restict

目录

1.const

1.1在指针和形参中使用

1.2全局使用const

2.volatile

3.restrict


1.const

const:使变量限定为不可改变

1.1在指针和形参中使用

在形参中使用最常见,防止函数修改被传入的参数

1.2全局使用const

防止某一函数修改  全局变量

2.volatile

volatile:程序不可改变,但代理(其它程序)可以改变的变量

高速缓存:两次操作都没有改变上述代码的值,x就被保存在寄存器中,使用时才读取,节约时间

val1=x;

val2=x;

3.restrict

restrict:限定这个指针是访问这个数据对象的唯一方式

作用是:1.告诉编译器可以优化  2.不让复制数据时的数据覆盖。

restrict *p;//只能用于指针限定

#include <stdio.h> 

static int d=4; 
extern int d;
int main(void)
{
	int ar[10];
	int * restrict p=(int *)malloc(10*sizeof(int));
	p=ar;
	
	return 0;
	
} 

这样就会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值