![](https://img-blog.csdnimg.cn/6fbd5da676e2457f82b32256a8ace53b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++进阶指南
文章平均质量分 52
C/C++知识分享
普通网友
这个作者很懒,什么都没留下…
展开
-
C语言中的数组初始化常见方法
C语言中数组常见初始化方法原创 2023-01-20 10:14:05 · 1827 阅读 · 1 评论 -
代码重构的一些理由
代码重构的一些理由原创 2022-09-27 11:22:46 · 373 阅读 · 0 评论 -
可重入函数
可重入函数原创 2022-09-02 18:23:25 · 336 阅读 · 0 评论 -
高质量的子程序
高质量的子程序原创 2022-08-31 09:53:06 · 113 阅读 · 0 评论 -
变量的一般命名原则
变量的一般命名原则原创 2022-08-30 14:56:42 · 628 阅读 · 0 评论 -
高内聚低耦合设计原则
高内聚低耦合设计原则原创 2022-08-24 11:16:38 · 2387 阅读 · 0 评论 -
类的C语言模拟实现
类的C语言模拟实现原创 2022-08-23 10:35:06 · 2024 阅读 · 0 评论 -
代码复用与分层思想
代码复用与分层思想原创 2022-08-18 16:36:57 · 493 阅读 · 0 评论 -
状态机程序框架
状态机程序框架实现原创 2022-06-22 10:51:18 · 697 阅读 · 0 评论 -
内存池的C实现
内存池的C实现原创 2022-08-15 14:03:02 · 341 阅读 · 0 评论 -
C语言之链接知识
函数库、链接、载入编译器创建一个包含可重定位对象的输出文件,可重定位的对象就是与源程序对应的数据和机器指令绝大多数编译器都是由多达六七个稍小的程序组成的,这些程序由“编译器驱动器”的控制程序来调用,这些稍小的可以很方便的从编译器中分离出来的单独程序包括:预处理器、语法和语义检查器、代码生成器、汇编程序、优化器、链接器,当然还包括一个调用所有这些程序并向各个程序传递正确选项的驱动器程序,优化器几...原创 2019-05-21 18:59:59 · 5308 阅读 · 2 评论 -
C语言关键字之const
1. ConstANSI C 允许你声明常量,常量的样子和变量完全一样,只是它们的值不能修改,你可以使用 const 关键字来声明常量int const a;const int a;这两条语句,都把 a 声明为一个整型常量,它的值不能被修改,所以你无法把任何值赋值给它,如此一来,怎么样才能让它一开始拥有一个值呢?有两种办法:声明时就对它进行初始化int const a...原创 2018-03-23 15:16:49 · 234 阅读 · 0 评论 -
C语言关键字之static
1. static关键字当用于不同的上下文环境时,static 关键字具有不同的意思:静态全局变量 static 关键字用于修改标识符的链接属性,从 external 改为 internal,但标识符的存储类型和作用域不受影响,本文件可见,其他文件可以定义同名变量静态局部变量 static 关键字用于修改变量的存储类型,从自动变量修改为静态变量,但变量的链接属性和作用于不受影响,本...原创 2018-03-20 16:11:06 · 290 阅读 · 0 评论 -
C语言关键字之volatile
1. Volatile关键字volatile 总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以消除一些代码。但有时这些优化不是程序所需要的,这时可以用 volatile 关键字禁止做这些优化。1.1. Volatile详解volatile 的本意是“易变的” 因为访问寄存器要比访...原创 2018-03-21 16:00:04 · 412 阅读 · 0 评论 -
C语言关键字之register
1. Register关键字register 关键字暗示编译程序相应的变量将会被频繁的使用,如果可能的话,应将其保存在 CPU 的寄存器中,以加快其存取速度,例如下面的代码:/* Procedure for the assignment of structures, *//* if the C compiler doesn't support this feature */#i...原创 2018-03-22 10:40:34 · 4043 阅读 · 0 评论 -
C语言之预定义宏__DATE__、__TIME__、__FILE__、__LINE__、__STDC__、__FUNCTION__
ANSI C标准中有几个标准预定义宏(也是常用的):__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__FILE__:在源文件中插入当前源文件路径及文件名;__LINE__:在源代码中插入当前源代码行号;__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;__FUNCTION__:执行的函数举个栗子main.c:...原创 2019-04-12 16:34:28 · 1589 阅读 · 0 评论 -
C语言之数组和指针是如何访问的
数组和指针是如何访问的首先要注意的是“地址y”和“地址y的内容”之间的区别,举个栗子:出现在赋值符左边的符号有时被称为左值,出现在赋值符右边的符号有时被称为右值,编译器为每一个变量分配一个地址(左值),这个地址在编译时可知,而且该变量在运行时一直保存于这个地址,相反,存储于变量中的值(右值)只有在运行时才可知,读入如果需要用到变量中存储的值,编译器就会发出指令从指定地址读入变量值并将它存于寄...原创 2019-04-17 13:46:32 · 708 阅读 · 0 评论 -
C语言之类型转换
类型转换当操作符的操作数类型不一致时会发生类型转换,这被称为“寻常算术转换”,它负责把两个不同的操作数类型转换成同一种普通类型,转换后的类型一般也就是结果类型C语言中的类型转换比一般人想象中的要广泛的多,再涉及类型小于int或double的表达式中,都有可能出现类型转换,举个栗子:printf("size=%d\n",sizeof'A');这行代码打印出存储一个字符字面值类型的长度,但是...原创 2019-04-18 21:08:27 · 428 阅读 · 0 评论 -
C语言之union结构使用小技巧-数据拆分
32位数据拆分#include<stdio.h>typedef union { int data; struct{ char byte1; char byte2; char byte3; char byte4; }byte;}U_BIT32;int main(){ U_BIT32 test; test.data=0x12345678; prin...原创 2019-05-15 17:27:31 · 1043 阅读 · 0 评论 -
C语言关键字之inline
1. 内联函数1.1. 何为内联函数C语言中,如果一些函数被频繁的调用,不断的有函数入栈,即函数栈,会造成栈空间的大量消耗为了解决这个问题,特别的引入 inline 修饰符,表示为内联函数被定义为内联的函数,会在编译阶段在被调用处展开,类似于宏但不完全相同,而省去函数调用的开销 1.2. 定义内联函数在函数声明或定义中函数返回类型前加上关键字 inline 即...原创 2018-03-19 14:07:16 · 881 阅读 · 0 评论