自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (10)
  • 收藏
  • 关注

转载 结构体的内存对齐

结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项。结构体内部成员的对齐要求,结构体本身的对齐要求。最重要的有三点(一)成员对齐。对于结构体内部成员,通常会有这样的规定:各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。但是也可以看到,有时候某些字段如果严格按照大小紧密排列,根本无法达到这样的目的,因此有时候必须进行padding。各成员

2013-06-30 17:41:53 665

原创 与零值比较

当通过用if(值  0)进行比较的时候 ,要看这个值是什么类型的   具体如下:1. 当值为 int, char型的时候   应用 if(int_val == 0)或者 if(int_val != 0)  2. 当值为指针变量的时候   应用if(NULL == p)或者if(NULL != p)    注:NULL最好写在左边  因为如果在右边的话容易写成 p=NULL 编译不会错 但在

2013-06-28 21:20:05 723

原创 定义与声明的区别

所谓的定义是指编译器创建了一个对象并为这个对象开辟一块内存,是从无到有的过程,而声明只是告诉编译器有这个东西存在了,这个变量名或者函数名已经被预定了,举个例子 :   1.void test(int a)  {      .............    ................          }    2.  void test(int);第一

2013-06-28 19:36:52 620

原创 编译与链接

当我们编写好源文件后(.c)经过编译器生成目标文件(.obj) 最后通过链接器将编好的目标代码同启动代码,库代码一起再生成一可执行文件(.exe) 所谓的启动代码是程序与操作系统之间的接口,库代码就是你的源程序里所include的那些库函数(如printf)

2013-06-28 16:47:40 623

转载 数组指针和指针数组的区别

数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元

2013-06-28 09:55:48 708

原创 学习笔记_C语言

1.    for( ; 1 ; ) 等价于 while(1)2.    程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。3.   局部变量能否和全局变量重名?     能,局部会屏蔽全局。要用全局变量,需要使用"::"4.   对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?               c用

2013-06-27 18:45:06 698

转载 C语言中的typedef

Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。#define dPS struct s *typedef struct s * tPS;以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?答案是:typedef更好dPS p1,p2;tPS p3,p4;第一个扩展为

2013-06-26 16:07:15 1069

转载 C语言中的volatile

推荐一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。volatile应该解释为“直接存取原始内存地址”比较合适,“易变的”这种解释简直有点误导人;下面的函数被用来计算某个整数的平方,它能实现预期设计目标吗?如果不能,试回答存在什

2013-06-26 15:29:55 638

转载 C中的const

1、什么是const?   常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const?   const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。3、cons有什么主要的作用?   (1)可以定义const常量,具有不可变性。   例如:const int

2013-06-25 23:07:58 648

原创 预处理器标识#error的目的是什么?

由于是第一次用博客,先试一试.....................回到原问题 预处理器标识#error的目的是什么?编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。下面举个例子:程序中往往有很多的预处理指令#ifdef XXX.........#else...

2013-06-24 21:13:23 2647

u-boot-1.1.6(config_for_tq2440)

针对tq2440配置的uboot1.1.6

2015-05-17

圈圈教你玩USB

圈圈教你玩USB,USB入门基础比较适合.

2013-10-13

周力功写给学单片机的年轻人

周力功写给学单片机的年轻人,挺有感触的。

2013-10-09

单电源运放

不可多得的关于单电源运放知识,简单到复杂,适合入门,电路精简

2013-08-23

开关电源原理与设计-经典

开关电源原理与设计-经典,里面有各种类的原理图及元器件的参数计算

2013-08-23

4.5万字透视FAT32系统.pdf )

4.5万字透视FAT32系统,详细讲解FAT文件系统原理

2013-08-13

C语言深度解剖

非常好的C语言知识,更加的深入讲解有关C的一些细节,适合有C基础的同志!

2013-07-15

How to Write makefile

How to Write makefile

2013-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除