C语言中限定符的作用】的更多相关文章

C语言中常用的一般包括const.static.extern.register和volatile这几个.这些是C语言标准中规定的关键词,所有的编译器都必须支持这些关键词,它们的作用如下: 1.const修饰的变量被称为常量,所谓常量,就是不能改变.不能再赋值的变量. 比如int a = 10,定义了一个变量a,并初始化为a = 10,在后续的代码中我们可以随时修改a的值的,可以通过a = 15把a的值修改为15. 但是如果使用const修饰了变量,比如const int a = 10或者int…
const限定符的作用:                                     1.定义const常量:const可以将一个对象变成一个常量,不可被修改,所以定义的 时候必须进行初始化,例如:                const int bufsize = 512: 2.可以修饰函数的参数.返回值.甚至函数的定义体.被const修改时的东西受到强制保护,可以预防意外的变动,提高程序的健壮性. 一般全局作用域中,定义了非const变量,它可以在整个程序中访问: //file…
restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代码.如 int *restrict ptr, ptr 指向的内存单元只能被 ptr 访问到,任何同样指向这个内存单元的其他指针都是未定义的,直白点就是无效指针.restrict 的出现是因为 C 语言…
把一个预处理指示写成多行要用“\”续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成. 而把C代码写成多行则不必使用续行符,因为换行在C代码中只不过是一种空白字符,在做语法解析时所有空白字符都被丢弃了. 在Linux的shell命令中亦可使用该换行符,在击回车键之前输入“\”,即可实现多行命令输入. 注意:这种续行的写法要求“\”后面紧跟换行符,中间不能有任何其他的字符. 例: #define uip_ip6addr(addr, addr0,addr1,addr2,addr3,addr4…
'@'符号用作函数修饰符是python2.4新增加的功能,修饰符必须出现在函数定义前一行,不允许和函数定义在同一行.也就是说@A def f(): 是非法的. 只可以在模块或类定义层内对函数进行修饰,不允许修修饰一个类.一个修饰符就是一个函数,它将被修饰的函数做为参数,并返回修饰后的同名函数或其它可调用的东西. 例如: def test02(a): print'test02' @test02 def test(a,b): print 'test' print a+b 结果: 在Python官方文…
在scanf函数中,*修饰符可以跳过所在项的输入.如下: #include <stdio.h> int main() { ; printf("请输入:"); scanf("%*d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d",a,b,c); ; } 依次输入1 2 3,运行结果: a=,b=,c= 这里三个%d对应三个输入,第一个%d用*修饰,所以其对应输入的1被直接跳过,然后…
在printf函数中,我们可以用数字修饰来控制打印的字段宽度和精度,如下(为强调视觉效果,均填充0): #include <stdio.h> int main() { ; float f=2.4; printf("%04d\n",i); printf("%06.2f",f); ; } 运行如下: 002.40 我们用*修饰也可以达到这样的效果,如下: #include <stdio.h> int main() { ; float f=2.4;…
两个!是为了把非0值转换成1,而0值还是0. 因为C语言中,所有非0值都表示真. 所以!非0值 = 0,而!0 = 1.所以!!非0值 = 1,而!!0 = 0.例如:i=123 !i=0 !!i=1 最后将123转换为1. 就是其他数据类型向bool值的转换…
限定符 说明 作用 attribute 一般用于各个顶点各不相同的量,如顶点位置.颜色等 属性限定符,修饰的变量用来接收渲染管线传递进顶点着色器的当前顶点的各种属性值. 只能用来修饰符点数标量,浮点数向量及矩阵变量 uniform 一般用于同一组顶点组成的单个3D物体中所有顶点都相同的量,如当前的光源位置   varying 用于从顶点着色器传递到片元着色器的量   const 用于声明常量   1.获取着色器程序内成员变量的id,也可以理解为句柄.指针. //获取程序中aPostion引用id…
  c语言头文件怎么写?我一直有这样的疑问,但是也一直没去问问到底咋回事:所以今天一定要把它弄明白! 其实学会写头文件之后可以为我们省去不少事情,可以避免书写大量的重复代码.有利于整理思路.使代码脉络更加清晰... 总之,好处多多学起来还不难就对了,还在等什么快来看看吧!   首先,我们要建一个头文件,命名为abc.h   然后就是内容了,其大致格式如下: #ifndef __ABC_H__ //ifndef 实际上就是“if not define”  如果没有定义  #define __ABC…