当前位置: 首页 > news >正文

CS61C 2020计算机组成原理Lecture03

在这里插入图片描述

1、C Operators

Operator Precedence

在这里插入图片描述

2、Arrays

1、Pointing to Different Size Objects

在这里插入图片描述

2、sizeof()

在这里插入图片描述

3、 Struct Alignment

四字节边界:指的是内存地址能够被4整除的情况。在计算机内存中,每个存储位置都有一个唯一的地址。当数据存储在以4为间隔的地址上时,就说它位于4字节边界上。这是因为4字节(等同于32位)的数据块在这些地址上能够得到最优的存取效率。如果我们有一个内存地址序列,从0开始计数,则地址0, 4, 8, 12等都是4字节边界的地址。这意味着一个32位(或4字节)的数据块可以从这些地址开始存储,而不会跨越不同的4字节边界。

Half-word boundary” 在计算机内存中通常指的是2字节对齐的边界:一个2字节对齐的边界意味着数据应该存储在内存地址是2的整数倍的位置上。例如,内存地址0, 2, 4, 6, 8等都是2字节边界的地址。与4字节边界类似,半字边界的对齐通常是为了优化内存访问的性能。不遵守这种对齐要求可能会导致性能下降或者,在一些严格要求对齐的系统中,可能会导致运行错误。

如下图,要做到对齐的话,需要填充到多少字节?

在这里插入图片描述
在这里插入图片描述
但是可以看出这样不够节省空间,有没有节省空间的方法呢?

在这里插入图片描述

4、Array Basics

Accessing in Array

在这里插入图片描述

Array and Pointers

在这里插入图片描述

Array and Pointer Example

在这里插入图片描述

Arrays Stored Differently Than Pointers

在这里插入图片描述
Address of an array is meaningless, it just happens to have the same value as the address of the first element of the array.

Arrays and Functions

在这里插入图片描述

3、Strings

1. C String Standard Functions

在这里插入图片描述

2. String Examples

在这里插入图片描述

4、More pointers

1、Pointer Arithmetic

在这里插入图片描述
在这里插入图片描述

2、Increment and Dereference

2个例题:

在这里插入图片描述
在这里插入图片描述

2、 Pointer Misc

Pointers and Allocation

在这里插入图片描述

Pointers and Structures

在这里插入图片描述

Pointers to Pointers

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、 Summary

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Kubernetes】(K8S)彻底卸载详细教程
  • Spring Boot中的响应与分层解耦架构
  • vue3 自定义el-tree树形结构样式
  • Nginx+Tomcat(负载均衡、动静分离)
  • python毕业设计基于django+vue医院社区医疗挂号预约综合管理系统7918h-pycharm-flask
  • javaseday27异常、FIle、综合案例
  • ubuntu24安装vivado24(安装并解决若干错误)
  • ELFK日志分析平台,架构和通信
  • itk c++ 3D医学图像刚性配准
  • 【AI学习笔记】初学机器学习西瓜书概要记录(一)机器学习基础知识篇
  • 小阿轩yx-案例:Prometheus监控kubernetes环境构建
  • R树(R-tree索引)
  • 数据结构与算法学习day21-回溯法
  • 好用的网页翻译插件
  • 01 Vim 编辑器的简单使用
  • 【译】JS基础算法脚本:字符串结尾
  • 0基础学习移动端适配
  • ES6核心特性
  • es的写入过程
  • js正则,这点儿就够用了
  • Shadow DOM 内部构造及如何构建独立组件
  • TCP拥塞控制
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Transformer-XL: Unleashing the Potential of Attention Models
  • webpack4 一点通
  • 初探 Vue 生命周期和钩子函数
  • 读懂package.json -- 依赖管理
  • 多线程事务回滚
  • 给Prometheus造假数据的方法
  • 简单基于spring的redis配置(单机和集群模式)
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 探索 JS 中的模块化
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 终端用户监控:真实用户监控还是模拟监控?
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​如何在iOS手机上查看应用日志
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #QT项目实战(天气预报)
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • $forceUpdate()函数
  • (10)ATF MMU转换表
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2022 CVPR) Unbiased Teacher v2
  • (8)STL算法之替换
  • (C11) 泛型表达式
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)scrum常见工具列表