《C Primer Plus》第12章之类型限定词restrict用法
来源:互联网 发布:视频转换器 for mac 编辑:程序博客网 时间:2024/05/16 01:42
关键字restrict通过允许编译器优化某几种代码增强了计算支持。它只可用于指针, 并表明指针是访问一个数据对象的唯一且初始的方式。
举例:
int ar[10];
int * restrict restar = (int *) malloc(10 * sizeof(int) );
int * par = ar;
for(n = 0; n < 10; n++)
{
par[n] += 5;
restar[n] += 5;
ar[n] += 2;
par[n] += 3;
restar[n] += 3;
}
解释:知道了restar是访问它所指向数据块的唯一初始方式,编译器就可以用具有同样效果的一条语句来代替包含restar的两个语句:
restar[n] += 8;
然而,将两个包含par的语句精简为一个语句将导致计算错误:
par[n] += 8; //错误
原因在于在par两次访问同一个数据之间,使用ar改变了该数据的值。
- 《C Primer Plus》第12章之类型限定词restrict用法
- 《C Primer Plus》学习笔记之 C数据的属性(三)类型限定词
- [C] 类型限定词volatile——《C Primer Plus》
- C Primer Plus学习 三十九 类型限定词const
- c语言中的类型限定词之一restrict
- 《C Primer Plus 5th》读书笔记----存储类、链接、类型限定词
- ANSI C的三个类型限定词:const,volatile,restrict
- c++primer plus 第12章习题
- c++primer plus复合类型之枚举
- c++primer plus复合类型之指针
- 学习C Primer Plus第3章之心得
- c++primer plus 第4章编程练习之路
- linux C编程(三)ANSI C中的类型限定词(const/volatile/restrict)
- C++primer plus 第11-12章笔记
- C Primer Plus 第6版 12章 练习9
- C.Primer.Plus(第六版)第12章 队列模拟
- C.Primer.Plus(第六版)第12章 编程练习
- c primer plus第14章习题
- 有关二叉树的相关实现:建树,遍历(递归与非递归实现)
- 【Java学习笔记】基础知识学习3【基本循环方法技巧】
- android开发_MotionEvent与其他事件处理_手势_键盘_鼠标
- 二分图的小总结
- SS, SP, BP 三个寄存器
- 《C Primer Plus》第12章之类型限定词restrict用法
- HDU4353(找一个三角形面积与它里面包含点的比值最小)
- Codeforces Round #191 (Div. 2) C magic five
- 三分求最小值——HDU 2241
- 如何防止自己的电脑成为肉鸡?
- zoj 2677 最大生成树
- 注释,连接字符串,nvl函数,linesize,pagesize
- Git常用命令和场景(四)--设置忽略提交的文件类型
- 数据挖掘导论