摘要:
//char (*(*x[3])())[5];//x是什么类型的变量? // //分析C语言声明,关键是搞清楚这个变量是个什么东西(函数、指针、数组), //是函数那么剩下的就是他的参数和返回值, //是指针那剩下部分是说明他指向什么, //是数组剩下的部分就是说明数组的成员是什么类型。 //解析C 阅读全文
摘要:
1、C语言中每个变量都有3个性质:存储期限、作用域、链接 1)存储期限:变量的存储期限决定了为变量预留的内存被释放的时间。共2种,自动存储期限(auto),静态存储期限(static),自动存储(auto)的变量在所属块被执行时获得内存单元,并在块终止时释放内存单元,自动的获得或释放内存,故名aut 阅读全文
摘要:
首先,一些国外的研究成果: 一个用英语解析复杂声明的网站:http://cdecl.org 图表说明复杂声明(英):http://c-faq.com/decl/spiral.anderson.html 另一个举例说明(英):http://www.unixwiz.net/techtips/readin 阅读全文
摘要:
1个字节在内存存储没有争议,当多个字节在内存中存储时,就有了不同的意见,目前,主要有2个方式: 小端:低字节存低地址,高字节存高地址。Little-Endian 大端:高字节存低地址,低字节存高地址。Big-Endian 看图: 小端字节序:低字节存于内存低地址;高字节存于内存高地址。如一个long 阅读全文
摘要:
(void)0相当于宏NULL,NULL本身的含义为“空”,在c语言代表“不存在、不确定”的含义。 0不能简单的理解为“没有”的意思,在c语言及二进制中,0和1代表的是“一件事物的正反两个方面“,0是一种明确的状态,不是没有含义。 举例: 1、就像一个led灯开关一样,0代表关,1代表开。”关“是一 阅读全文
摘要:
虽然win10下搞了一个ubuntu子系统,但是还是各种不习惯,经过一番研究,我还是选择下面的组合来搭建: Git Bash + ConEmu + MinGW15.3 + vim + chocolatey 1、到git的官网下载git软件的win版,超级好用自动集成git bash还有linux下各 阅读全文
摘要:
1、avr用的c语言标准库 http://www.nongnu.org/avr-libc/ 2、avr的下载上传器 http://www.nongnu.org/avrdude/ 3、编程环境platformIO Core http://www.platformio.org 4、avr的一个模拟器 h 阅读全文
摘要:
在32位平台和64位平台上,同一种数据类型可能有不同的数据长度: 看到没, 从上面的结果可以看到不同,所以不要假定上表内颜色背景行的数据长度,因为它是会变化的。 因为系统的函数会返回上述的这些值,所以必须知道他们的大小并进行相应的防错性转换。而另外的情况,你需要跨不同平台固定数据长度数据类型的话,可 阅读全文
摘要:
位置:include/linux/kernel.h 定义: 作用:结果看下面,作用未知,好像是为了一个叫:word_at_a_time的宏,哎。 重点1:什么是0UL UL是c语言中的常量后缀,用于整型常量。字母U代表unsigned,字母L代表Long,0UL表示这个整型常量0的类型为无符号长整型 阅读全文
摘要:
man手册内容详细,解释到位,因为好多都是软件的原创者自己写的说明文档,当然是第一手的资料。但是,有几个难点需要克服: 1、英文不易阅读,通常我是先在书上或者网络上找到某个命令的详细说明和解释,然后在通过man手册查看该命令,通俗的讲:带着答案看问题的方法。勉强能够读懂,下一次再次忘记了该命令的用法 阅读全文