1、if(0):条件判断为假,if(-1):条件判断为真(因为-1为非零数)。

2、A||B不等于B||A(同样的,&&也遵循),因为只要运算符左侧的条件能够得出结论时,就不会再判断右侧条件,所以交换操作数A和B所得到的表达式是不等同的。

3、不引入第三个变量的情况下实现将两个数进行交换(采用异或),需要执行下面三句:

(1)a = a^b;

(2)b = a^b;

(3)a = a^b;

4、地址访问:->,变量访问:.。

5、想要查看一个浮点数在内存中存储的样子,可以采用以下办法(下面以常见的3.14来举例),因为一个浮点数占用4个字节,所以读取的时候选择用int来一次获取所有4个字节内容,虽然可以用%d来打印int中内容,但是因为十进制数不够直观,所以选择采用更接近于机器而人又能一目了然的十六进制%x来打印,另外需要说明的就是,关于警告问题,因为是编译器发现读取格式(int)和存储内容格式(float)不一致,所以进行的警告:

 x210-2021-08-25_条件判断

6、const char *p多数应用在字符串,char *const p多数应用在硬件资源(存储地址一般不再发生改变,里头存储的内容可以被读写和更新,如显存)。

7、指针也有一个类似数组名加索引的表达形式,两者可以等价使用。x210-2021-08-25_浮点数_02

8、二级指针一个最容易接触到的地方就是main函数的参数列表,下面图一示例是在有参数个数形参argc存在的情况下对传入参数argv的打印(并且需要注意传入参数类型不得超过char范围),如果在某些特殊情况下,例如参数个数argc不告知的情况,那么就需要通过argv本身的一个特点来开启打印并结束循环,那就是判断参数是否为空,如果为空说明已经到达末尾,需要告知编译器结束循环了,如图二。x210-2021-08-25_硬件资源_03

 

 

x210-2021-08-25_条件判断_04