iOS Runtime机制01 C知识
1、指针
普通指针
指针指向的内存空间的值为对应的数据的存储空间首地址
1234567891011///普通指针int a = 4;int *p = &a;//&为获取地址符号printf("a=%d\n",a);printf("&a=%p\n",&a);printf("p=%p\n",p);//结果a=4&a=0x7ffeefbff59cp=0x7ffeefbff59c指针的指针
指针指向的内存空间的值为一个指针的地址,指向的指针的地址为对应数据的存储空间首地址。
1234567891011121314151617///指针的指针int **pa = &p;printf("a=%d\n",a);printf("&a=%p\n",&a);printf("p=%p\n",p);printf("&p=%p\n",&p);printf("pa=%p\n",pa);printf("*pa=%p\n",*pa);//结果printf("a=%d\n",a);printf("&a=%p\n",&a);printf("p=%p\n",p);printf("&p=%p\n",&p);printf("pa=%p\n",pa);printf("*pa=%p\n",*pa);printf("**pa=%d\n",**pa);数组指针
指针指向的内存空间为数组的首地址
1234567891011121314151617181920212223///数组指针char b[] = "hello";char *pb = b;printf("b=%p\n",b);printf("pb=%p\n",pb);printf("&pb=%p\n",&pb);printf("%lu\n",sizeof(char));for (int i = 0; i < 5; i++) {printf("&b[%d]=%p\n",i,&b[i]);}printf("pb+1=%c\n",*(pb+1));//结果b=0x7ffeefbff58apb=0x7ffeefbff58a&pb=0x7ffeefbff5801&b[0]=0x7ffeefbff58a&b[1]=0x7ffeefbff58b&b[2]=0x7ffeefbff58c&b[3]=0x7ffeefbff58d&b[4]=0x7ffeefbff58epb+1=e函数指针
返回值类型(*\ 指针变量名)([形参列表])
1234567891011int getMax(int i, int j) {int result = i > j ? i : j;return result;}///函数指针int (*p1)(int , int);p1 = getMax;int re = p1(10,20);printf("re = %d\n",re);//结果re = 20
OpenGLES关键术语解析
OpenGLES 关键术语解析
1、片元
二维图象上每个点都包含了颜色、深度和纹理数据。将该点和相关信息叫做一个片元
2、图元
图元就是组成图像的基本单元,比如三维模型中的点、线、面等等
3、片段
片段是指具有相同属性的一小部分像素区域
4、光栅化
光栅化(Rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。光栅化其实是一种将几何图元变为二维图像的过程。该过程包含了两部分的工作。第一部分工作:决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域。光栅化过程产生的是片元
可选参数
数组遍历for...of
Go学习3·常量与运算符
解构赋值
解构赋值
赋值操作
Symbol的用法
Symbol的用法
1、用于定义常量
2、用于字典的key
3、半隐藏属性,知道的人可以用,不知道的人不知道怎样用。
Symbol新类型
Symbol新类型
Symbol为原始类型,可以为int,可以为string,每个symbol的值都会有一个唯一的标识。
常用于常量和状态变量。
|
|
模版的延长线
字符串模版拓展
实战:给字符串添加特定的格式
通过对参数进行特殊处理,实现markdown的加粗效果。