苏嵌实训第四天日报表
项目开发日报表
项目名称 | 【苏嵌实训-嵌入式 linux C 第四天】 |
---|---|
今日进度以及任务 | 复习C语言的位运算、预处理、函数调用、指针、数组 |
本日任务完成情况 | 完成了老师上课布置的任务。 |
本日开发中出现的问题汇总 | 位运算和指针中遇到一点问题 |
本日未解决问题 | 无 |
本日开发收获 | 对指针的类型、步长、取值、取地址、数组名的作用有了进一步理解 |
其他 | 无 |
作业
笔记
一、位运算:
& | ^ >> << ~
一定要操作无符号数!
二、预处理:傻瓜式替换
缺点:不安全,容易出错
特点:省去函数调用返回的时间,同样省去了给形参分配空间和释放;
总结:用编译时间换内存空间和运行时间
三、函数的调用过程:
1.通过函数名找到函数的入口地址;
2.给形参分配空间;
3.传参
4.执行函数体里的语句
5.返回
6.释放空间
四、指针
1、指针是什么?指针是一个变量(指针变量),保存的是地址,作用:能够直接操作地址(直接访问硬件)
2、指针类型是根据存储的地址的类型(类型+步长)
3、* & 运算符:* 取值运算符 & 取地址
int num = 5;
int *p = &nun;
int **pp = &p;
int ***ppp = &pp;
num = *p = **pp;
&num = p = *pp;
&p = pp;
4、多维指针的作用:保存前一维指针变量的地址
5、指针赋值<一定是相同指针类型赋值>
6、万能指针: void *:可以接受任何类型指针的值!
运算:++ – (注意步长!)
7、野指针
五、数组
1、数组的定义及初始化
2、数组名的作用!一维数组、二维数组、三维数组
①一维数组名:指针常量、保存数组首元素的地址
数组地址:对数组名取地址获得整个数组地址
②二维数组名:指针常量,保存的是首个一维数组地址
<一维数组单位是元素,二维数组单位是一维数组,三维数组单位是二维数组>
&aa:二维数组的地址;
*(&aa)==aa:对二维数组的地址取值等于收个一维数组的地址;
aa:二维数组的首个一维数组;
*aa:二维数组的首个一维数组的首元素的地址;
((aa+i)+j)
aa+i:二维数组中第i+1个一维数组地址;
*(aa+i):二维数组中第i+1个一维数组的首元素的地址;
*(aa+i)+j:二维数组中第i+1个一维数组的第j+1个元素的地址;
((aa+i)+j):二维数组中第i+1个一维数组的第j+1个元素的值;
③三维数组名:指针常量,保存首个二维数组地址;
*aaa = 首个二位数组的首个一维数组的地址;
**aaa = 首个二维数组的首个一维数组的首元素的地址
3、数组指针
4、指针数组
字符串实际上就是首字符的地址
- 苏嵌嵌入式Linux实训 第四天
- 苏嵌实训第六天日报表
- 苏嵌实训第五天日报表
- C语言数据基本类型——20120705苏嵌实训第四天
- 实训第四天的一些碎碎念(SSM框架的搭建——下)
- Java实训第四天
- 实训第四天
- 苏嵌实训-嵌入式 linux C 第 6 天
- 苏嵌实训-嵌入式 linux C 第3 天
- 【苏嵌实训-嵌入式 linux C 第 1 天】
- 苏嵌实训-嵌入式 linux C 第 6 天
- 苏嵌项目实训 学习日志4
- 工程实训小结(第四天)
- C语言基础知识-苏嵌实训 嵌入式 linux C 第 3 天
- 苏嵌嵌入式Linux实训 第五天
- 苏嵌实训-嵌入式 linux C 第 5 天
- 苏嵌实训-嵌入式 linux C 第2天
- 【苏嵌实训-嵌入式 LinuxC 第 6天】
- 苏嵌实训-嵌入式 linux C 第 5 天
- 脚本攻击、后渗透攻击(网安全实训第四天)