本章开始讲解了一些简单的语法规则,以及c++和c的区别,自己简而言之记录了一些有争议的或者看了有歧义的,常规语法就略之
1、++i(先进行自加,再带入运算) 和 i++ (先运算,再自加),验证结果如下
2、switch后可以跟整数(字符也可以,因为内存里字符也是按照整数存储的,一 一对应)
3、c++编程思想里认为内建数据类型只有四个:char ,int ,float 和 double
而bool类型是标准c++加进来的,最好用true 和flase ,不用隐式将int转换为bool(这正是平时最常用的)
long ,short ,signed ,unsigned 被认为是说明符
但是平时我们认为的八大基本类型是:byte ,short ,int ,long ,float ,double ,bool ,char
4、像函数传递值时,在函数内部生成一个拷贝,这个是“按值传递”,外部变量值没变
我们可以通过指针和引用来改变,实际指针和引用都可以理解为外部变量的别名
5、不能使用void型引用,void型指针可以,而且意味着任何类型的指针都可以间接的引用那个指针地址
如:void *p; *((int *)p) = 3;但是由于自由转换,可以再转成char *,改变内存,可能引起崩溃,但是很多时候用的,比如多线程的的时候
6、c规定在作用域开始处就定义所有变量,但是c++可以在作用域任何地方
7、static 作用:a 只在第一次调用时初始化,后面值在之前基础上处理,而且在函数外不可用 b引申于前面,在文件最开始的时候static申明,其他文件extern也没 用,避免命名冲突 ,此外,static是内部链接,extern是外部链接
8、字符型和常数对应关系
9、volatile 防止编译器优化
10、优先级实在多,且不同语言的优先级会不一样,所以记得一个最基本,其余的可以查表
(b)用于基本数据之间的转换,如:把int转成char。
(c)空指针转与目标类型的指针之间的互相转换