苏嵌实训第四天日报表

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值