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和 define1、都是替对象去一个别名,增强程序的可读性2、define为预处理指令,不做正确性检查,只有带入之后才能发现3、typedef用来定义类型别名,不止包含内部类型还包含自定义类型(与机器无关),方便记忆4、define不仅可以给类型取别名,还能定义常量、变量、编译开关。5、define没有作用
点赞 7
评论 2
全部评论

相关推荐

03-29 14:19
门头沟学院 Java
你背过凌晨4点的八股文么:加油同学,人生的容错率很高,只是一个暑期罢了,后面还有很多机会!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务