1、C/C++1.1 关键字(参考”嵌入式及Linux那些事“以及众多帖子汇总而成)volatile 当声明指向设备寄存器的指针时一定要用volatile,它会告诉编译器不要对存储在这个地址的数据进行假设。 中断服务程序中修改的供其他程序检测的变量。 中断中直接从变量地址中读取数据,而不是从寄存器中读取。 多线程应用中被几个任务共享的变量。static 1、函数体内的变量,这个变量只被声明一次。 2、在模块内的变量,表示只能被模块内函数使用,不能被模块外函数访问,表示本地全局变量 3、模块内的函数,限制在模块内使用,同上。extern1、引用同一文件变量使用在声明之前时,可以使用关键字extern,让声明在程序任意位置。2、引用另一个文件中的变量extern可以引用其他文件中的全局变量,而且extern只需要指明数据类型和extern int num=4; 这样不行。3、引用另一个文件中的函数可以不用包含头文件引用函数。new/delete malloc/free 1、new/delete是操作符,malloc/free是库函数 2、new/delete可以调用构造函数/析构函数,m/f 只是分配内存。struct 和 union区别1、联合体公用一块地址空间,联合体变量长度等于最长的成员的长度 2、对不同成员赋值,会将其他成员重写。const 1、定义变量为常量 2、修饰参数为常量 3、修饰返回值为常量总结:只读sizeof和strlen 1、sizeof是运算符,strlen是函数 2、sizeof可以用类型、函数作为参数,strlen只能计算char*,还必须以/0结尾 3、sizeof编译的时候计算,strlen是运行期计算,表示字符串长度,不是内存大小。typedef和 #八股文# #汇川技术内推# #校招#