GxEPD2部分C语言含义

1. ::

"::“在C++中表示作用域,和所属关系。”::"是运算符中等级最高的。有三种作用。

  1. 作用域符号
    例如:A,B表示两个类,在A,B中都有成员member。
    那么:
    1、A::member就表示类A中的成员member。
    2、B::member就表示类B中的成员member。
  2. 全局作用域符号
    GxEPD2部分C语言含义
  3. 作用域分解运算专符
    比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。例如:
    GxEPD2部分C语言含义

2. int8_t

int8_t是在C语言中C99标准规定的,恰好8位(1个字节)的有符号整型数的别名。

规定将其定义在<stdint.h>,通常为:

typedef signed char int8_t;

范围-128~127。(类比于16、32、64位可记成是-2^7~2^7-1

3. 0xFF

0X表示十六进制的意思;FF是表两位的十六进制的数;ff在单片机中默认为11111111,在单片机中表示,将八位都是高电平。

4. x(x,x)

函数中一个字母后面带一个括号里面两字母用逗号隔开的意思是,括号前面的字母表示函数,括号里面用逗号隔开的两个字母表示函数与这两个字母表示的变量具有函数关系,它们的变化会引起函数的变化。

5. [ ]

该中括号为数组标识。
int a[6];就是定义一个一维数组,这个数组名叫做 a ,共有6个元素;同理int b[6][6];就是定义一个二维数组度,这个数组共有6*6个元素。

定义之后,就可以引用该数组的元素,但不能直接用 a[6] ,a此时包含的元素只有a[0],a[1],a[2],a[3],a[4],a[5]这6个。

C语言支持定义一系列相同连续的变量空知间,其定义形式为type name[N];代表定义个数为N,每个元素类型均为type型的数组变量name。

在C中规定,数组元素的下标n是从0开始计道数的,所以对于定义的a[100], 其合法的元素为a[0], a[1],… , a[99]。

6. NULL

NULL 一般是对指针初始化赋值为空,表示变量什么值也没有,防止指针成为野指针

NULL就是没有值

7. *

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *则是取内容操作符,意思是取这个内存地址里存储的内容。

8. if(a) b();

如果满足b的条件,则执行b函数。
扩展知识:
如果没有花括号,则是简单语句,有则是复合语句。
if(x<100) y=-1;是简单语句;
if(x<100) {y=-1; x=0;}是复合语句。

9.? :

? : 是一个三目运算符,也是唯一的一个三目运算符。?前面表逻辑条件,:前面也就是?后面表示条件成立时的值,:后面表条件不成立时的值。例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。

10. &

&代表取地址,&a就是取a所在的内存地址。
扩展知识
*p =&a可以理解为 在P这个内存段里 存上(记录)a这个数据的实际专存储地址。
p就是一个内存地址编号,直到你输出他是1502时,咱们才知道他是1502.

11. &=

C语言中的 &= 意思为:按位与后赋值

代码示例为:

x = 0x02;

x &= 0x01;

按位与后的结果为:0x00