深入浅出C语言
文章平均质量分 96
通过一些表层知识点和一些简单工具,不断的深入,巩固C语言知识,探寻C语言的本质。
秦伟H
目标是略懂:C++,深度学习,三维重建,CV,SLAM,无人机,无人车,多传感器融合,组合导航。有事邮件:qw072117@foxmail.com huqinwei987@gmail.com
展开
-
sqlite3:锁机制、stmt加速、wal日志模式、多进程并发、写互斥
最近需要做sqlite的并发优化,会有一些多主机多进程的操作失败问题,所以学习一下,顺便为了翻阅,做一个笔记收集。未完成。。。。。。。。。。。。。。。。。。。to be continued目前只对我某时刻最关注的点做笔记,默认简单的就跳过了。工作和时间原因,顺序有些乱,可能随时遇到问题就插进去了。锁机制与事务类型https://www.cnblogs.com/l...原创 2019-12-23 20:17:02 · 4540 阅读 · 4 评论 -
C 位操作 左移32位 错误
搬砖拼接64位数字,因高32位long未先强转64,导致拼接失败,顺便发现个问题,32位变量左移32位等于原数值。C下位移操作为逻辑位移,全部左移补零后,数值应为零,结果和预期不符,遂查找症结所在。代码如下:long i = 512;i = i << 32;结果i == 512作为对比:32次i << 1结果是0short i = 512;i...原创 2017-04-28 21:28:52 · 13778 阅读 · 3 评论 -
C++引用的本质与修改引用的方法
本文不探讨罗列引用的概念,什么函数传参之类的,这些基础概念和用法很容易搜到~!本文主要探讨引用和指针在C语言的下一层——即汇编或者确切的说是伪汇编(AT&T伪汇编都一样的代码,你指望下层x86汇编还能不一样么~)——的实现过程,来摸索一下他们的特点与本质。首先,引用(Reference)在C中没有,是C++ 才有的概念~! 要用g++编译器。定义:引用就是某个目标变原创 2014-05-02 15:52:12 · 12656 阅读 · 3 评论 -
C语言++a与a++的实现机制与操作符结合优先级
华为笔试题 1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)int a = 4;(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);a = ?答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a改后答案依次为9,10,10,11 那么,事实究竟如何?原创 2014-04-22 19:27:35 · 9030 阅读 · 3 评论 -
什么是函数指针数组?——学习C语言基本技能之分清主语、定语
指针函数这块真是有点小纠结,前边刚乱七八糟结构,这就又指针函数,函数指针,指针数组了。有点绕口,有点小猥琐,括号来括号去,指针来,数组去的。其实就是简单记一下优先级,然后自己一边绕嘴一边往里排顺序首先,指针数组的元素是指针fp*fp;其次,指针数组是指针*fp 的数组*fp[4];//[]优先级高,数组fp[4],再结合*,数组里的每个元素是一个指针,这就是指针原创 2012-03-02 23:58:29 · 2644 阅读 · 1 评论 -
printf()格式控制应知小技巧
float n1 = 3.0;double n2 = 3.0;long n3 = 2000000000;long n4 = 1234567890;long n5 = 250;long n6 = 213; printf("%ld %ld %ld %ld %ld %ld\n",n1,n2,n3,n4,n5,n6);//第五个和第六个%ld对应输出是什么?别试代码,直接看原创 2012-02-05 23:23:07 · 1704 阅读 · 0 评论 -
C语言结构体(struct)常见使用方法
注意:盗版是不会得到修正和更新的!今天复习一下struct,顺便挖掘一下以前没注意的小细节:基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。(因为C++和C有共通之处,但是在结构体上的某些机制又有所不同,所以后边提了一下,不喜欢可以略过)结构体定义:...原创 2014-04-14 01:51:57 · 654050 阅读 · 61 评论 -
C语言宏定义——一年有多少秒
那么,一年到底有多少秒?我再换个问法,每年都一样么?闰年你又怎么解决?众所周知,每四年有一个闰年,这还不是全部,逢百年的时候你必须用年份除以四百,除得开才是闰年。地球围绕太阳公转一周(即360度)的时间应该为365日6时9分10秒,即为一个恒星年。地球的某点获得两次两次直射的间隔是365日5时48分46秒(更加精确:365天5小时48分45.975456秒),即为一个回归年。一个回归年折算成小数,大概是365.2422日,400年里多出了96.88天,而按四年一个闰年算,400年里少3个闰年,即原创 2014-04-14 23:53:53 · 21158 阅读 · 7 评论 -
联合体(union)的使用方法及其本质
有些基础知识快淡忘了,所以有必要复习一遍,在不借助课本死知识的前提下做些推理判断,温故知新。1.联合体union的基本特性——和struct的同与不同union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。不过区别也挺明显:结构体(struct)中所有变量是“共存”的...原创 2014-04-13 14:27:08 · 204318 阅读 · 44 评论 -
段位结构体与补码、大小端
最近在进行C语言复习,不借助课本死知识,试图直接通过某些方式进行推理验证,来得出一些听过的和没听过的、还有忘记的结论。比较浅,适合初学者看。但也有一些不容易发现的小规律能够涨姿势。1.直接上题,这也算一个面试题吧,让你解释打印结果:struct bit{ int a:3; int b:2; int c:3;};int main(){ bi原创 2014-04-15 17:22:57 · 3320 阅读 · 0 评论