C语言
喵喵苗
嵌入式软件及硬件研发
展开
-
指针与数组
多维数组与多级指针也是初学者感觉迷糊的一个地方。超过二维的数组和超过二级的指针其实并不多用。如果能弄明白二维数组与二级指针,那二维以上的也不是什么问题了。所以本节重点讨论二维数组与二级指针。一、二维数组1、假想中的二维数组布局我们前面讨论过,数组里面可以存任何数据,除了函数。下面就详细讨论讨论数组里面存数组的情况。Excel 表,我相信大家都见过。我们平时就可以把二维数组假想成一个ex转载 2014-05-19 14:36:27 · 426 阅读 · 0 评论 -
C语言 关键字
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。原创 2014-08-23 11:05:34 · 386 阅读 · 0 评论 -
8位16位32位数据的拆分与合并程序
拆分//16位拆成两个8位u16 data16 = 0x1234;u8 data8_H,data8_L;data8_H = (u8)(data16 >> 8);data8_L = (u8)data16; 32位拆成4个8位方法一:u32 data32 = 0x12345678;u8 data8_1,data8_2,data8_3,data8_4;data8_1 = (u8)(data32 >> 24转载 2016-06-16 11:14:52 · 30290 阅读 · 1 评论 -
strcmp 函数
strcmpC/C++函数,比较两个字符串 设这两个字符串为str1,str2, 若str1=str2,则返回零; 若str1>str2,则返回正数; 若str1原创 2016-06-15 18:32:55 · 487 阅读 · 0 评论 -
strlen(C语言函数)
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。原创 2014-09-03 08:55:27 · 796 阅读 · 0 评论 -
可重入函数和不可重入函数
可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。原创 2014-07-10 16:41:01 · 327 阅读 · 0 评论 -
二维数组
二维数组,每个元素的长度为t个字节,设为A的第一个元素,即二维数组的行下标从p到m,列下标从q到n,按“行优先顺序”存储时则元素的地址计算为:按“列优先顺序”存储时,地址计算为:存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵,对角矩阵:n阶方阵的所有非零元素都集中在主对角线上.二维数组基本原创 2014-06-03 16:07:35 · 578 阅读 · 0 评论 -
2014-03-29.阿里实习生招聘笔试题目
题目:第一题选C,不解释吧,按位与就行 第二题选D,不解释,2*3*sizeof(int*)=48(64位机器上是8字节一个指针) 第三题选C,我不确定,不过,应该是的 第四题选D,明显考的是补码 第5题选D,果断访问错误(这是Java的代码) 第6题选B,大家都懂 第7题果断A啊转载 2014-06-05 10:57:00 · 318 阅读 · 0 评论 -
预处理
预处理C语言在程序进行编译之前,会先将程序中以"#"标记的部份进行处理。这种处理叫做预处理。预处理主要的完成以下三个内容:宏处理、头文件和条件式编译。宏处理指令语法如下:#define 宏名 字符串 示例:#define MAX 200 宏指令语句尾不用加分号(;)宏定义可以用#undef命令取消,我们可以用该功能进行程序调试。原创 2014-05-19 14:58:38 · 404 阅读 · 0 评论 -
C语言union关键字
union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下: union StateMachine { char character; int number; cha转载 2016-09-05 10:32:41 · 904 阅读 · 0 评论