C语言restrict关键字的使用
2011-10-06 09:21
260 查看
C99中新增加了restrict修饰的指针:由restrict修饰的指针是最初唯一对指针所指向的对象进行存取的方法,仅当第二个指针基于第一个时,才能对对象进行存取。对对象的存取都限定于基于由restrict修饰的指针表达式中。
由restrict修饰的指针主要用于函数形参,或指向由malloc()分配的内存空间。restrict数据类型不改变程序的语义。编译器能通过作出restrict修饰的指针是存取对象的唯一方法的假设,更好地优化某些类型的例程。
[典型例子]
memcpy()在C99中,restrict可明确用于memcpy()的原型,而在C89中必须进行解释。
void *memcpy(void *restrict str1, const void *restrict str2, size_t size);
/*通过使用restrict修饰str1和str2来保证它们指向不重叠的对象*/
由restrict修饰的指针主要用于函数形参,或指向由malloc()分配的内存空间。restrict数据类型不改变程序的语义。编译器能通过作出restrict修饰的指针是存取对象的唯一方法的假设,更好地优化某些类型的例程。
[典型例子]
memcpy()在C99中,restrict可明确用于memcpy()的原型,而在C89中必须进行解释。
void *memcpy(void *restrict str1, const void *restrict str2, size_t size);
/*通过使用restrict修饰str1和str2来保证它们指向不重叠的对象*/
相关文章推荐
- C语言restrict关键字的使用
- C语言restrict关键字的使用----可以用来优化代码
- C语言正确使用extern关键字
- C 语言restrict 关键字的使用浅谈
- C语言中extern关键字的使用
- c语言:sizeof的使用,其不是函数,是一个操作符关键字,定义一个数组arr,输出arr和&arr的区别
- C语言中restrict关键字学习
- C 语言restrict 关键字的使用浅谈
- 黑马程序员-C语言回顾-const关键字介绍及使用
- C语言中const关键字使用方法及使用场景
- 关于C语言中关键字的使用
- 【转】C语言中的restrict关键字
- C语言中extern关键字的使用
- 关于c99中restrict关键字的使用
- C语言的const关键字与指针搭配使用
- 黑马程序员-C语言const关键字的使用小结
- C语言中 restrict 关键字学习
- C语言的5种存储类以及关键字volatile、restrict
- C语言关键字之volatile的使用
- C语言中restrict关键字学习