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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143161.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

算法训练——day16快乐数

202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为…

【数据结构】数据结构系列学习笔记——导航篇

一:概述 数据结构是计算机科学中的核心概念之一,是优化算法性能和资源利用率的关键。在软件开发和数据处理中,选择合适的数据结构对于算法的效率至关重要。数据结构的选择通常基于数据的使用模式,包括数据元素之间的关系、数据的存…

STM32 单片机最小系统全解析

STM32 单片机最小系统全解析 本文详细介绍了 STM32 单片机最小系统,包括其各个组成部分及设计要点与注意事项。STM32 最小系统在嵌入式开发中至关重要,由电源、时钟、复位、调试接口和启动电路等组成。 在电源电路方面,采用 3.3V 直流电源供…

WPF 的TreeView的TreeViewItem下动态生成TreeViewItem

树形结构仅部分需要动态生成TreeViewItem的可以参考本文。 xaml页面 <TreeView MinWidth"220" ><TreeViewItem Header"功能列表" ItemsSource"{Binding Functions}"><TreeViewItem.ItemTemplate><HierarchicalDataTempla…

TMStarget学习——T1 Segmentation数据处理及解bug

最新学习季公俊老师的神器 TMStarget 的第一个模块基于结构像的靶区计算T1 segmentation。下面上步骤&#xff1a; (1)在github 上下载 TMStarget https://github.com/jigongjun/Neuroimaging-and-Neuromodulation (2)按照要求下载依赖工具软件AFQ、vistasoft、SPM12 &#…

虚拟机vaware中cpu设置跑满大核

首先&#xff0c;大核速度快&#xff0c;并且在资源紧张时大核优先&#xff0c;小核甚至是闲着围观大核跑满。其次&#xff0c;遇到经常切换操作虚拟机和win11的使用场景&#xff0c;切换核心本身也会造成一点卡顿&#xff0c;降低虚拟机里操作流畅度。另外&#xff0c;13代在你…

马斯洛需求理论(人类需求的五个层次)用户体验五要素四点心智模型

一&#xff1a;核心用户 1.1 什么是核心用户 潜在用户 &#xff1a;未使用该产品的用户&#xff0c;但是有使用的需求。目标用户 &#xff1a;已经使用产品的普通用户&#xff0c;活跃度低。种子用户 &#xff1a;活跃度比较高&#xff0c;对产品的熟悉程度比较高&#xff0c…

无人机光电吊舱的技术!!

1. 成像技术 可见光成像&#xff1a;通过高分辨率相机捕捉地面或空中目标的清晰图像&#xff0c;提供直观的视觉信息。 红外热成像&#xff1a;利用红外辐射探测目标的温度分布&#xff0c;实现夜间或恶劣天气条件下的隐蔽目标发现。 多光谱成像&#xff1a;通过不同波段的光…

windows C++ 并行编程-异步消息块(一)

代理库提供了多种消息块类型&#xff0c;使你能够以线程安全的方式在应用程序组件之间传播消息。 这些消息块类型通常与 concurrency::send、concurrency::asend、concurrency::receive 和 concurrency::try_receive 等各种消息传递例程配合使用。 本文包含以下各节&#xff1…

Linux:进程(二)

目录 一、cwd的理解 二、fork的理解 1.代码共享 2.各司其职 3.fork的返回值 三、进程状态 1.进程排队 2.进程状态 运行状态 一、cwd的理解 cwd&#xff08;current working directory&#xff09;。译为当前工作目录。 在C语言中&#xff0c;使用fopen函数打开文件时&…

React-Hook原理

前置知识 闭包 在 Hook 的应用比如 dispatch 函数,也就是 useState 返回的第二个参数 闭包是指有权访问另一个函数作用域中变量或方法的函数,创建闭包的方式就是在一个函数内创建闭包函数,通过闭包函数访问这个函数的局部变量, 利用闭包可以突破作用链域的特性,将函数内部…

IDEA去除掉虚线,波浪线,和下划线实线的方法

初次安装使用IDEA&#xff0c;总是能看到导入代码后&#xff0c;出现很多的波浪线&#xff0c;下划线和虚线&#xff0c;这是IDEA给我们的一些提示和警告&#xff0c;但是有时候我们并不需要&#xff0c;反而会让人看着很不爽&#xff0c;这里简单记录一下自己的调整方法&#…

基于ssm+vue+uniapp的面向企事业单位的项目申报小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

水果成熟度检测系统源码分享

水果成熟度检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

mysql事务的隔离级别学习

事务的隔离级别: ⅰ. 读未提交 ⅱ. 对已提交 &#xff08;解决 脏读&#xff09; ⅲ. 可重复读 &#xff08;解决 不可重复读&#xff09; ⅳ. 串行化 &#xff08;解决 脏读 不可重复读 幻读 问题 &#xff09; 隔离级别分类如下&#xff0c;在不同的隔离级别下可能产生不…

LabVIEW提高开发效率技巧----使用LabVIEW工具

LabVIEW为开发者提供了多种工具和功能&#xff0c;不仅提高工作效率&#xff0c;还能确保项目的质量和可维护性。以下详细介绍几种关键工具&#xff0c;并结合实际案例说明它们的应用。 1. VI Analyzer&#xff1a;自动检查代码质量 VI Analyzer 是LabVIEW提供的一款强大的工…

Python 之数据库操作(Python Database Operations)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

新书出版,大陆首本NestJS图书《NestJS全栈开发解析:快速上手与实践》

新书全栈实战项目&#xff1a;数字门店管理平台开源啦&#x1f389;&#x1f389;&#x1f389; GitHub地址&#xff08;持续更新NestJS企业级实践&#xff09;&#xff1a;欢迎star⭐️⭐️⭐️ 前端ReactTypeScriptVite 后端NestMySQLRedisDocker 前言 对&#xff0c;你没看…

esp32s3分区表配置及读写

一、分区表介绍 每片 ESP32-S3 的 flash 可以包含多个应用程序&#xff0c;以及多种不同类型的数据&#xff08;例如校准数据、文件系统数据、参数存储数据等&#xff09;。因此&#xff0c;在 flash 的 默认偏移地址 0x8000 处烧写一张分区表。 分区表中的每个条目都包括以下…

Lnux驱动开发学习 -- imx6ull LCD驱动学习

文章目录 环境LCD设备树信息imx6ull的LCD驱动 环境 正点提供的 linux 4.15 LCD设备树信息 看下imx6ull提供的设备树信息&#xff1a; arch/arm/boot/dts/imx6ull.dtsi&#xff1a;lcdif: lcdif021c8000 {compatible "fsl,imx6ul-lcdif", "fsl,imx28-lcdif&…