首页
学习
活动
专区
圈层
工具
发布

CCPP数组的深入理解 | 指针与数组 | 一二三维数组

引入 整型数组和字符型数组 数组是一段连续的内存,除了定义数组变量,也会用指针来表示数组,但是数组和指针不是完全相同的,数组有很多特性,例如数组有确定数量的元素,而指针只是一个标量值。...一维二维三维数组 我们习惯的认为的1D,2D,3D数组的样子: 但是计算机中数组的实际样子: 这三个函数分别是给一维二维三维数组赋值,但是他们的汇编指令显然完全相同,因此无论数组是一维的还是高维的,...(注意理解数组存储的原理很关键) 以二维数组详细分析 二维数组的行地址、列地址,与元素的存储 1、连续存储 2、二维数组的行地址与列地址 1)行地址 1、二维数组中,数组名a的值,是数组a首元素a[...0][0]的地址,即&a[0][0],第一行第一个元素的地址; 2、二维数组中,数组名a+1是数组a的元素a[1][0]的地址,即&a[1][0],第二行第一个元素的地址; 2)列地址 1、二维数组中,...数组与指针 数组与指针的关系 因此函数以数组作为参数时传入的都是数组的首地址,将首地址存放在一个临时的指针变量里。

1.2K10

CCPP数组的深入理解 | 指针与数组 | 一二三维数组

整型数组和字符型数组 数组是一段连续的内存,除了定义数组变量,也会用指针来表示数组,但是数组和指针不是完全相同的,数组有很多特性,例如数组有确定数量的元素,而指针只是一个标量值。...编译器用数组名来记住这些属性,只有当数组名在表达式中使用时,编译器才会认为它产生一个指针常量(不是指针变量,数组名的值是指针常量,详见C和指针P142)。...PS:注意数组的[]中的数字本质上是偏移量 数组与指针 数组与指针的关系 因此函数以数组作为参数时传入的都是数组的首地址,将首地址存放在一个临时的指针变量里。...越界的危害见堆栈隐患文章(数组越界可能会导致函数的地址被篡改) //规范写法 void func(int *arr,int length){} 用指针定义字符串和用数组定义字符串的方法和区别汇总(关键)...一维二维三维数组 我们习惯的认为的1D,2D,3D数组的样子: 但是计算机中数组的实际样子: 这三个函数分别是给一维二维三维数组赋值,但是他们的汇编指令显然完全相同,因此无论数组是一维的还是高维的,

89920
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    精通Excel数组公式009:提供多个值的数组公式

    当你试图删除单元格区域A2:A6中的某个单元格中的内容、删除整行等时,会导致下图2所示的错误。 ? 图2 2. 按Ctrl+/键可以选择当前数组公式所在的区域。 3. 有两种方法删除数组公式区域内容。...如果需要编辑数组公式,则可以在该数组公式区域中编辑任一单元格中的公式,然后按Ctrl+Shift+Enter键。 5. 选择数组公式区域的任意单元格,在公式栏中都会看到相同的公式。 6....上例中的数组公式可以归纳为一个求序号的公式构造: ROW(单元格区域)-ROW(单元格区域中的第一个单元格)+1 这个公式构造可以作为更高级的数组公式中的元素。...图10 《Ctrl+Shift+Enter:MasteringExcel Array Formulas》学习笔记 完美Excel 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。...欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。 完美Excel社群2020.9.2动态 #VBA# 增强的CELL函数和INFO函数

    6.1K50

    精通Excel数组公式023:使用数组公式的条件格式

    excelperfect 条件格式是有趣的,特别是使用公式并链接条件到单元格中时。下面是使用公式的条件格式的一些说明: 1.条件格式意味着如果条件满足应会应用设定的格式。...4.评估为TRUE或FALSE的逻辑公式可以用于创建条件格式。 5.条件格式可以使用非数组公式和数组公式。 6.条件格式是易失性的:经常重新计算,减慢整个工作表的计算时间。...如下图1所示,高亮显示单元格A11中指定的城市名的最小时间所在的行。注意,混合引用$B3允许每个单元格将指定城市的最小值与列B中时间值比较。 ?...图1 如下图2所示,设置条件格式高亮显示指定赛车手最快的两个时间所在的行。在单元格A17中指定赛车手的姓名,单元格B17中指定要显示的时间数量。...单元格D18中的数组公式计算得到指定的时间并作为条件格式的辅助单元格。 ? 图2 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    3.9K30

    精通Excel数组公式019:FREQUENCY函数的威力

    然而,在Excel中,原始数据经常来自于带有许多重复值的大数据集。如果想要使用公式统计唯一值数量或者提取唯一值列表,由于没有内置函数能够完成这两项任务,因此必须使用数组公式。...在Excel中,唯一值列表是一个仅列出每个项目一次的子列表。在唯一值列表中没有重复值。 下面是一些典型的有许多重复值但需要统计唯一值的典型情形: 1.交易会计记录表多次列出每个发票号。...需要统计唯一发票号的数量。 2. 项目时间跟踪器包含重复的员工姓名,需要统计有多少名独立的员工从事该项目。 3. 包含客户交易的大表列出了许多重复值,需要统计其中有多少个独立的客户。...示例2:统计唯一的文本值或混合数据 如下图2所示,显示了一个有重复的员工姓名的时间追踪器列表,想要从单元格区域C3:C9中统计出独立的员工姓名数量。 ?...本示例正确答案是5 注:本文为电子书《精通Excel数组公式(学习笔记版)》中的一部分内容节选。你可以到知识星球App的完美Excel社群下载这本电子书的完整中文版。

    1.2K20

    Excel公式技巧:使用OFFSET函数生成的数组

    SUBTOTAL函数允许使用有限数量的工作表函数对此类数组进行操作,但它不会展现进行公式操作的这个数组。...如果数组大小合适,如本例所示,OFFSET函数会为原始单元格区域(rng)中的每个单元格返回一个单独的单元格区域。因此,如果使用SUBTOTAL函数操作该数组,则每个单元格区域都会单独计算。...图2 图3 在单元格B12中的公式: =SUM((range1="完美Excel")*(SUBTOTAL(3,OFFSET(range2,ROW(range2)-MIN(ROW(range2)),,1...)))) 单元格B13中的公式: =SUM((range1="完美Excel")*(SUBTOTAL(9,OFFSET(range2,ROW(range2)-MIN(ROW(range2)),,1)))...) 与SUBTOTAL函数一起使用的OFFSET函数返回一个数组,该数组可用作数组公式的一个元素。

    2.3K30

    Excel公式技巧:生成由a至z组成的数组

    标签:Excel公式 本文谈谈如何生成按a至z的顺序字母组成的数组。...有时候,我们想生成由a至z的字母顺序组成的数组: {“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”,”k”,”l”,”m”,”n”,”o”,”p”,”q”,”r”,”s”...图1 在公式栏中,可以看到生成的按字母顺序组成的数组,可以复制并粘贴到公式中使用。 当然,可以直接使用公式生成数组。...公式如下: =CHAR(96+COLUMN(A1:Z1)) 上面生成的是由小写字母组成的数组,如果要生成由大写字母按顺序组成的数组,可以使用公式: =CHAR(64+COLUMN(A1:Z1)) 这样,...举一个非常简单的示例来演示。如果查找字母f在数组中的位置,可以使用公式: =MATCH("f",CHAR(96+COLUMN(A1:Z1)),0) 得到数字6,即字母f在该数组中第6个位置。

    1.9K30

    Excel: 提取唯一值的进阶玩法:兼容共享工作簿的 Excel 数组公式技巧

    背景介绍 在 Excel 中,经常需要从一列数据中提取不重复的唯一值列表,以便分析或生成下拉列表。Office 365/Excel 2021 引入了动态数组函数,可以轻松实现这一需求。...然而,当启用“共享工作簿(旧版)”功能时,Excel 会强制使用早期兼容模式,将动态数组公式视为传统的 Ctrl+Shift+Enter (CSE) 旧版数组公式。...此时,原本可以自动扩展的溢出行为失效,公式会被 Excel 自动加上大括号 {}。结果出现以下问题: 清空源列数据时出错:由于结果区域已“锁定”长度,源列被清空后,目标单元格会出现 #REF!...总结 该方法利用 UNIQUE、FILTER 等动态数组函数结合 INDEX/ROWS 的传统技巧,在旧版共享工作簿模式下实现了相对动态的唯一值提取。...它兼顾了兼容性与稳定性:在支持动态数组的 Excel 版本中效果一致,同时即使启用旧版共享模式,公式也能逐行提取唯一值,避免了溢出冲突。

    59010

    Java数组全套深入探究——进阶知识阶段6、三维数组以及更多维度数组的概念和用法

    Java数组全套深入探究——进阶知识阶段6、三维数组以及更多维度数组的概念和用法 目录 数组学习的重要意义 三维数组以及更多维度数组的概念 三维数组以及更多维度数组的用法 多维数组在数学中的表达方式 多维数组在生活中的体现...三维数组以及更多维度数组的概念 三维数组是一个维数为三的数组结构,其最常见的多维数组,可以用来描述三维空间中的位置或状态。在三维数组中,每个元素可以由三个下标访问,这三个下标通常是三个不同的参量。...例如,四维数组中的每个元素需要由四个下标访问,五维数组则需要五个下标,以此类推。 三维数组以及更多维度数组的用法 三维数组以及更多维度数组的用法在编程中很常见,尤其是在处理大量数据或进行复杂计算时。...以下是一些使用三维数组和更多维度数组的具体示例: 三维数组示例:假设有一个三维数组表示一个立体空间的温度分布,其中第一个维度表示高度,第二个维度表示经度,第三个维度表示纬度。...例如,对于一个三维数组A(i, j, k),其中i、j和k分别表示第一维、第二维和第三维的下标。 需要注意的是,多维数组的大小是各个维度大小的乘积。因此,随着维度的增加,数组的元素数量会呈指数级增长。

    65810

    Excel VBA解读(153): 数据结构——基本的数组操作

    有下面两种类型的数组: 1.静态数组:数组的大小固定 2.动态数组:数组的大小不确定,在运行时设置数组的大小 两种数组的主要区别在于创建数组的方法,访问数组元素的方法相同。...图1 也可以在声明时显示指定数组索引值的上限和下限: Dim arr(0 To 5) As Long 当在模块的开始部分使用语句: Option Base 1 指定数组的下限基于1时,上面两个创建数组的声明语句创建的数组大小不同...以上讲解的是静态数组的声明,下面来看看动态数组。 在我们事先知道需要存储多少个元素时,使用固定大小的静态数组是非常方便的。...数组的下限,也称为最小下标,即为数组的起始索引值,一般为0,是数组的第1个元素。...使用LBOUND函数来获取数组的下限: Dim arr(5) As Long Debug.Print "数组下限:" & LBound(arr) 数组的上限,也称为最大下标,即为数组的最大索引值,是数组的最后一个元素

    2.7K20

    Excel公式技巧76:解决IF函数与数组函数的冲突

    在Excel中,有一些函数可以接受数组参数进行数组运算,例如SUMPRODUCT函数,它们不需要像数组公式那样,在输入结束前要按Ctrl+Shift+回车键。然而,IF函数打破了这个规则。...如果这些函数的参数是由IF函数提供,那么还是需要按Ctrl+Shift+回车键。 如下图1所示,要求一级的分数和。 ?...图2 规则:如果在IF函数的参数logical_test中有数组计算,那么公式需要按Ctrl+Shift+回车键,即便将其作为数组函数的数组参数。...此时,如果你想创建一个无需按Ctrl+Shift+回车键的公式,则需要使用其它的方法来代替公式中的IF函数。可以使用: (B3:B8="一级")*(C3:C8) 达到相同的判断效果。...这称之为布尔乘法,只有逻辑值为TRUE的获取相应的数值,其余为0。其结果如下图3所示。 ? 图3

    3.2K30

    Excel公式技巧15: 探讨强制返回数组的公式技术

    然而,并不是所有公式都能如此轻松地产生这样的效果,有些公式很“顽强”地抵制任何试图强制让它们返回数组的尝试。本文将探讨一些技术,除了数组形式的输入外,可以帮助强制达到想要的结果。...),而是因为它具有附带的(也是非常有用的)特性:能够促使其他函数操作一组数值数组,例如此处的ADDRESS函数不能操作数组的情况。...幸运的是,Excel为提供了一个与N函数具有相似功能的T函数。与N函数一样,T函数同样具有强制返回数组的特性。N函数用于数字,T函数用于文本值。...在《Excel公式技巧03:INDEX函数,给公式提供数组》中,讲解了从INDEX函数强制返回数组的技术,在这里也可以使用。...值得记住的是,无论强制性需求的程度如何,无论它是否必然涉及一个、两个甚至三个额外的函数,这些强制性函数很大程度上来自于INDEX、N(或T)和OFFSET函数的组合,并使用一些特定的语法。

    2.4K10

    Excel VBA解读(155): 数据结构—数组相关的函数

    学习Excel技术,关注微信公众号: excelperfect VBA提供了一些内置函数,可以方便地生成或者处理数组。 Array函数 Array函数可以使用一组数据来填充数组。...然而,必须将数组变量声明为Variant型。例如代码: Dim MyArray As Variant MyArray= Array("红","绿","蓝","三原色") 生成的数组如下图1所示。 ?...= Split(str, ",") 代码创建的数组与上图1相同。...与Array函数不同的是,Split函数创建的数组下标索引值总是从0开始,无论在代码模块顶部是否使用了语句Option Base 1。...Join函数 Join函数使用指定的分隔符将数组中的各元素连接起来成为一个字符串,例如代码: Dim MyArray As Variant Dim str As String MyArray= Array

    1.7K30

    精通Excel数组公式011:令人惊叹的SUMPRODUCT函数

    如果需要相乘的数组的维数不同,那么可以使用乘法运算符并将相乘的数组放在单个数组参数中。 6. 当需要将数组操作的结果相加时,可以在参数array1中包含单个数组操作。...在Excel 2003及以前的版本中,没有COUNTIFS函数和SUMIFS函数。 2....在Excel 2003及以前的版本中,不总是可能去使用D-函数,因为它们需要合适的数据集,并且难以将公式复制到其它单元格。 3....在使用Excel 2007及以后的版本时,可能会碰到在Excel 2007发布以前已经创建的带有SUMPRODUCT函数的公式的工作表。 4....如果使用的是Excel 2003或以后的版本,在数据集或条件区域中没有字段名,SUMPRODUCT函数能够进行运算,但D-函数不能。 ?

    7.7K11

    精通Excel数组公式026:你弄清楚大型数组公式是怎么工作的吗?

    学习Excel技术,关注微信公众号: excelperfect 在本系列中,大部分内容都是在阐述特定数组公式如何工作的逻辑,但是假设你有一个大型的数组公式,却不知道它是如何工作的,你该怎么办?...2.当公式在单个单元格中时,运行“公式求值”命令(按Alt,M,V键,或者选择功能区“公式”选项卡“公式审核”组中的“公式求值”)。“公式求值”功能对于看到公式计算时Excel所遍历的步骤是非常好的。...注意,在右下侧列出的公式适用于Excel2010及以后的版本。 image.png 图3 查找列中最长的单词 下图4展示了一个公式,用来查找一列中具有最大字符数的数据项。...image.png 图9 最后的提示 数组公式不能够计算整列 在Excel中,虽然可以创建非常大的数组公式,但不能创建使用整列的数组,因为重新计算使用整列单元格的数组公式是非常耗时的,Excel不允许创建这类数组...image.png 图10 注:本文为电子书《精通Excel数组公式(学习笔记版)》中的一部分内容节选。你可以到知识星球App的完美Excel社群下载这本电子书的完整中文版。

    3K20

    精通Excel数组公式002:谈谈公式最基本的那些事儿

    学习Excel技术,关注微信公众号: excelperfect 任何知识和技能都有最基本的东西,熟知这些,是学习的基础,也会使学习事半功倍。下面,我们就来看看Excel公式的那些基础知识。...数组公式,是一种高级公式,操作一组值(单元格区域)而不是单个单元格引用,或者传递多于一项的公式。数组公式能够传递计算、逻辑、文本、查找的结果。...例如,指定MATCH函数的第3个参数为0,表明查找时执行精确匹配。 8. 数字 9. 在双引号中的文本 10. 数组常量。例如,{1,2,3}。 数学运算符 在公式中,使用数学运算符执行数学运算。...图2 公式元素的优先级 在创建具有许多元素的大公式时,理解Excel如何评估或计算公式是特别重要的。下面列出了Excel评估或计算公式的顺序。 ?...图3 从表象看到实质 在Excel中,有时在工作表中看到的不一定是真实的,有时Excel默认的行为会给你提示,……。了解一些这方面的知识,会有助于公式的学习。 数值格式的假象 1.

    1.3K20

    MATLAB中的高维数据操作与异构数据结构管理

    % 创建一个4x3的二维数组A = reshape(1:12, [4, 3]);% 创建一个3x4x2的三维数组B = reshape(1:24, [3, 4, 2]);% 输出数组A和B的内容disp...% 访问三维数组B中的特定元素element = B(2, 3, 1); % 访问第二行第三列第一层的元素disp('选定元素:');disp(element); % 输出应为 61.3 多维数组的操作...不仅仅能够处理复杂的数组和数据结构,还可以方便地导入和导出各种格式的数据文件,如文本文件、Excel文件、MAT文件等。...5.2.1 三维曲面图三维曲面图用于展示三维数据的可视化,通常使用 surf 或 mesh 函数。...);title('三维曲面图');xlabel('X');ylabel('Y');zlabel('Z');colorbar;5.2.2 三维散点图三维散点图用于可视化三维数据点的分布。

    1.4K20

    精通Excel数组公式005:比较数组运算及使用一个或多个条件的聚合计算

    下面是Excel的比较运算符: = 等于 不等于 > 大于 >= 大于等于 < 小于 <= 小于等于 在诸如基于条件查找最小值或最大值、计算标准偏差等情形时,Excel没有提供相应的内置函数,必须编写数组公式...图1 使用数组公式 Excel中没有一个MINIF函数来根据条件求相应的最小值,可以使用MIN/IF函数组合来实现。...使用数据库函数 在Excel中,有一组基于判断条件执行计算的数据库函数,共12个,也称之为D-函数,例如DMIN、DMAX和DSUM函数。...我们看到,前面使用的数组公式必须以按Ctrl+Shift+回车键结束。自Excel 2010起,可以使用一个新函数:AGGREGATE函数,而无需按Ctrl+Shift+回车键。...(注意,如果在公式里的IF函数中有数组操作,那么该公式必须按Ctrl+Shift+回车键结束,即便作为AGGREGATE函数的数组参数也是如此。) ?

    9.4K40

    Excel VBA解读(137): 让使用用户定义函数的数组公式更快

    学习Excel技术,关注微信公众号: excelperfect Excel数组公式能够做很多令人惊讶的事情。除了在输入完后要按Ctrl+Shift+Enter组合键外,与普通公式一样。...本文主要研究使用用户定义函数的数组公式。 有两类数组公式: 单单元格数组公式输入在单个单元格中,循环遍历其参数(通常是计算的参数)并返回单个结果。...每次的VBA读写调用都有相当大的开销,因此一次读取和写入大块数据通常要快得多。 因此,应该让VBA用户定义函数在单个块中尽可能多地读取数据并将数据尽可能大地返回到Excel。...而输入多单元数组公式做到了尽可能多地写入数据到Excel,最小化了调用开销,并且通常它可以一次读取数据并多次重复使用。 如何创建多单元格数组公式?...我们沿用《Excel VBA解读(133):编写高效的Function过程——让代码运行更快的技术》中的示例,创建自定义函数的数组版本AverageTolE函数,功能是找到除多个误差之外的数据的平均值。

    4.2K20
    领券