1.#if defined(symbol) //如果symbol没有被定义
2.获取数组的长度: #define ARRAYSIZE(x) (sizeof(x)/izeof(x[0]))
3.memset(void *src,'*',n*sizeof(a)) 将src开始的n*sizeof(a)个大小的区域填充为‘*’。
4.memcpy(void *desc,const void *src,size n) 从desc开始拷贝n个字节到src处。
5.memcmp(const void *buf1, const void *buf2, unsigned int count) 比较buf1和Buf2的后count个字节的ascii码,若前面的字节已经比较出了大小,后面的就不必比较。
6.char LEDSP0[7] = {'6','5','4','3','2','1',' '}; 这样以16进制打印出来的char的0x6,0x5,..... ,而不是36,35,34......。
7.c语言注册函数的概念:当执行某个操作的时候需要调用某个函数,这个时候就需要注册函数,有点类似于8086的中断的概念。