Day4-计算机基础学习

这节主要讲的是关于过程调用/函数调用的具体过程以及机器指令,还有数组

一、过程调用概述

1.过程调用的机器级表示:在主函数里执行相加函数,总结就是先保护原现场(地址),然后去临时执行另一个事件(创建的局部空间),再将计算得到的结果通过保存的地址回到原现场。相当于人做一件事情,被打断了,先去完成更紧急的事情了之后再回来继续做事。

关于递归、选择、循环过程的机器级表示其实与上面的过程调用类似,不是重点,了解即可。

二、数组与结构体

1.数组的分配与访问

访问每一个元素的地址是由数组元素类型决定的

(1)指针数组:若干个指向同类目标的指针变量组成的数组,形式为——存储类型 数据类型 *指针数组名[元素个数],如 static int *a[10]

注意:一个指针数组可以实现一个二维数组:

2.结构体数据的分配和访问

三、数据的对齐

要求数据的地址是相应的边界地址

边界不对齐的情况虽然节省了空间,但是大大增加了访问次数。

四、越界访问和缓冲区溢出

1.数据存储区可以看做是一个缓冲区,如果超越了数组的存储区范围的写入操作就称为缓冲区溢出

2.造成缓冲区溢出的原因是:没有对栈中作为缓冲区的数组的访问进行越界检查

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值