您的位置:首页 > 其它

苏嵌实训第四天日报表

2020-07-14 06:33 106 查看
项目开发日报表
项目名称 【苏嵌实训-嵌入式 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、指针数组
字符串实际上就是首字符的地址

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: