摘要:内联函数是指用inline关键字修饰的函数。在类内定义的函数被默认成内联函数。内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。 内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修
阅读全文
摘要:C语言字节对齐问题详解 #pragma pack(1) :1字节对齐,作用域本文件 #pragma pack() :取消字节对齐
阅读全文
摘要:今天在调试tftlcd的时候,犯了一个不该犯的错误。 用一个unsigned char变量装了一个变量,该变量用于表征屏幕横轴变量,可惜了屏幕的最大宽度可以达到320,而u8的范围是0-255,可惜了一天的时间啊。 出现的现象是显示到某一横轴宽度外就不再显示了,具体错误表现由错误的本质怎么引起的就不
阅读全文
摘要:http://www.lintcode.com/zh-cn/problem/#
阅读全文
摘要:枚举类型的存在,就相当于给变量戴上了枷锁,枚举类型的变量只能是某些数值中的一个。 使用方法: 1.首先定义枚举类型:enum weekday{mon,tue,wed,thu,fri,sat,sun}; 2.定义枚举变量:enum weekday workday; 3.此时workday这个变量的值只
阅读全文
摘要:算法和数据结合才是程序。 而数据又包括基本数据和数据结构,你会问数据结构是什么?数据结构就是数据的组织形式,例如数组,结构体。 一、数据类型: 1.基本数据类型:整型、字符型、浮点型、枚举类型。 2.构造类型:结构体、共用体、数组。 3.指针类型。 4.空类型。 5.指针和结构体组成的更复杂的堆栈、
阅读全文
摘要:想实现流水灯的显示,可以创建一个实现流水灯显示的无返回值无参数的函数, void flow_ledshow(void) { 流水灯显示语句; } 然后在需要的时候进行调用,例如在main函数里调用 void main(void) { flow_ledshow(); } 如果被调用函数是在调用函数之后
阅读全文
摘要:函数理解: 假设,你想同时实现流水灯点亮和lcd液晶屏显示,那么程序的功能模块就有两个,你需要创建两个.c文件。 程序架构: 说到底函数服务于构建清晰的程序架构,一个好的c程序设计者,会首先根据程序实现的不同功能,将程序划分为不同的源文件即.c,然后在源文件里创建不同的函数将功能更加的具体化以供系统
阅读全文
摘要:一维数组: 1.定义格式:类型 数组名[常量表达式],需要注意的是三点:数组名定义规范,数组长度固定,引用时最大下标值为数组长度减1. 2.初始化:1.长度确定,元素确定 2.长度确定,元素部分确定,其余为0 3.长度确定,一个0,全为0 4.长度不确定,根据元素个数,长度自动确定。 二维数组: 1
阅读全文
摘要:用指针调用函数: 1.函数:max(int x,int y); 指针:int (*p)(int,int)=max;(只赋值函数名) 调用:(*p)(a,b); 用指向函数的指针作函数参数: 1.比较深入的部分。
阅读全文
摘要:字符串的表示形式: 1.数组 2.指针 作函数参数: 1.数组名 2.指针
阅读全文
摘要:表达含义:char a[2][3]={1,2,3,4,5,6}; a是a[0]的地址,a[0]是a[0][0]的地址,a[0]+1是a[0][1]的地址。 a+1是a[1]的地址,a[1]是a[1][0]的地址,a[1]+1是a[1][1]的地址。 a和*a的内容是一样的,但是不能用*a得到a[0]
阅读全文
摘要:指向数组元素: 1.int *p;int a[10];p=&a[0]或p=a。 引用数组元素: 1.p+i和a+i。 2.*(p+i)和*(a+i)。 3.p[i]。 数组名作函数参数: 1.作用是什么? 2.若形参数组的值发生变化,那么实参数组的值也发生变化。 3.多格式应用:双数组,实数组形指针
阅读全文
摘要:指针的作用(举例): 1.描述复杂的数据结构。 2.动态的分配内存。 3.使用数组、字符串。 4.调用函数得到两个以上的结果。 5.直接处理内存。 6.使程序简洁紧凑高效。 地址和指针: 1.数据在内存中的读写方式。 2.间接访问。 3.指针就是地址。 指针变量: 1.定义:int *pointer
阅读全文