1. 首页
  2. 编程语言
  3. C
  4. C语言中const,volatile,restrict的用法总结

C语言中const,volatile,restrict的用法总结

上传者: 2022-06-18 09:02:07上传 PDF文件 105.65 KB 热度 30次

限定词volatile告诉编译器,该变量除了可被程序改变意外还可以被其他代理改变。这个过程被称为缓存。如果没有规定volatile关键字,编译器将无从得知这种改变是否可能发生,因此,为了安全起见,编译器不使用缓存。总而言之,volatile使得每次读取数据都是直接在内存读取而不是缓存。你可能会觉得奇怪,const和volatile可以同时使用,但是确实可以。volatile 的本意是指:这个值可能会在当前线程外部被改变。它是const因为程序不应该试图去修改它。把s1,s2声明为restrict意味着每个指针都是相应数据的唯一访问方式,因此他们不能访问同一数据块。

用户评论