在函数声明中,传递固定大小的数组意味着什么? [复制]

2023-12-31

这感觉是一个非常愚蠢的问题,但我有人参加编程课程向我寻求作业方面的帮助,我在他们的代码中看到了这一点(请对匈牙利表示法没有评论):

void read_dictionary( string ar_dictionary[25], int & dictionary_size ) {...

作为一名 C# 程序员(我在大学里学习过 C 和 C++),我什至不知道你能做到这一点。我总是被告知,从那以后我就读到,你应该拥有

void read_dictionary( string ar_dictionary[], int ar_dictionary_size, int & dictionary_size ) {...

我听说教授给了他们这个并且它有效,那么声明这样的固定大小数组意味着什么呢? C++ 没有本地方法来了解传递给它的数组的大小(即使我认为最新规范中可能已更改)


在一维数组中它没有意义,会被编译器忽略。在二维或多维数组中它可能很有用,并且被函数用作确定矩阵(或多维数组)的行长度的方法。例如 :

int 2dArr(int arr[][10]){
   return arr[1][2];
}

这个函数会知道地址arr[1][2]根据指定的长度,并且编译器不应接受此函数的不同大小的数组 -

int arr[30][30];
2dArr(arr);

是不允许的,并且会出现编译器错误(g++):

error: cannot convert int (*)[30] to int (*)[10]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在函数声明中,传递固定大小的数组意味着什么? [复制] 的相关文章

随机推荐

  • Kubernetes:从远程浏览器访问仪表板

    我有一个小型 Kubernetes 集群 主要是 这本教程 https www profiq com kubernetes cluster setup using virtual machines 因此 我在 Virtual Box Cen
  • Highcharts - 休息 1 小时

    我似乎无法弄清楚为什么 x 轴上的时间总是晚一个小时 我知道它与这条线有关 但我不知道将其更改为什么 date Date parse line 0 UTC 我当前的时区是伦敦 我有这个文件 index php
  • 创建跨 Maven 测试阶段工作的临时数据库?

    我加入了一个项目 该项目有很多带有 SQL 语句的文件 用于创建用于集成测试的数据库 我想知道如何使用这些文件来创建用于单元测试的数据库 使用java和maven 我可以为每个单元测试创 建一个 HSQL 内存数据库 甚至可以使用 spri
  • 如何使用 SimpleHtmlDom 在 HTML 的 head 标签之间插入链接标签

    我试图通过使用来操作 HTML 代码simplehtmldom sourceforge net http simplehtmldom sourceforge net 这是我到目前为止所得到的 我可以创建一个新文件或将索引 html to 索
  • 所有 ajax 请求完成后执行代码

    我有一个相当复杂的搜索 它利用多个ajax调用 流程如下 user performs search on button click ajax request is made to php page which returns json da
  • WPF&MVVM:库 System.Windows.Interactivity 不再可用?

    我需要添加System Windows Interactivity dll图书馆通过Reference Manager In Visual Studio 2017 我没找到 所有从以下位置开始的搜索结果System Windows如下面的屏
  • 为什么“git add *”不会添加“git status”表示未暂存的文件?

    当我打字时 git add 它的表现就好像没有添加文件 但当我这样做时 git status 它显示未暂存的文件 我可以通过手动输入名称来暂存它们 如图所示 但在相同情况下这需要相当长的时间 我的问题是 在这种情况下 为什么我不能只输入 g
  • 在java中处理n个if-else if的更好方法

    我想知道是否有更好的方法来处理n no Java 中的 if else if 块 我有一种情况 我需要根据 n 打印不同的值 if else if conditions 块如 if p 1 q r System out println Co
  • angular2,打字稿对等无效,无法导入模块

    我有两个问题 可能它们相互依赖 我无法要求 导入 电子邮件受保护 cdn cgi l email protection 打字稿可以工作 但我看到错误 通过命令 npm list email protected cdn cgi l email
  • Django:重用表单字段而不继承?

    如果我有两个基于不同基类 例如 Form 和 ModelForm 的表单 但我想在这两个表单中使用一些字段 我可以以 DRY 方式重用它们吗 考虑以下场景 class AfricanSwallowForm forms ModelForm a
  • Phonegap Android 应用程序每次方向改变时都会重置到主屏幕

    我正在为Android平台创建phonegap应用程序 但是当我更改方向时 它每次都会重置并返回主屏幕
  • 将 GPUImage 过滤器应用到 UIView

    我有一个问题 我需要应用像这样的过滤器Pixelate or Blur到整个UIView 像eBay iPad app 我想用GPUImage但我不知道该怎么做 有一种方法可以将过滤器应用于GPUImageView直接不经过aUIImage
  • MVC 6 中的 HtmlHelpers

    我正在尝试将此代码移植到 mvc 6 感谢任何帮助 代码可以编译 但该方法在我的观点中不可用 Html IsActive using Microsoft AspNet Mvc Rendering namespace Blah Web Hel
  • 展开元组/列表时不需要的部分

    Python 就是为了编写漂亮的代码 于是 我就跑了pylint当我遇到某些东西时 检查我的代码的 美观性 未使用的变量 myvar1 从我的代码的这一部分 for myvar1 myvar2 in mylist Do stuff just
  • 在使用 read_fwf() 读取的 pandas 数据框中查找虚假数据

    我正在尝试使用从此处获取的每日数据来分析纽约的天气记录 http cdiac ornl gov epubs ndp ushcn daily doc html http cdiac ornl gov epubs ndp ushcn daily
  • 通过expressjs将stdout从子进程流式传输到浏览器

    我们有一个使用构建的应用程序nodejs express and child process spawn 一个要求是我们需要在运行时生成一个进程并捕获其输出并将其呈现给用户 我们有这个工作 然而 我们需要找到一种方法来流式传输输出 而不是等
  • 如何将 axe 与 Pandas 和 Matplotlib 一起使用

    我有一个非常基本的问题 我正在使用 pandas 数据框来绘制此图 但我想在某些日期周围添加突出显示 In 122 df1 99 plot x date y units ylim 0 11 figsize 12 12 Out 122 我在
  • /usr/bin/x86_64-linux-gnu-ld:找不到?

    我在ubuntu 18 04 gcc 7 3 学习C语言 当 的时候make all输入命令 出现这个错误 usr bin x86 64 linux gnu ld 找不到 lkeccak The Makefile如下 CC gcc CFLA
  • Amazon RDS 停止实例[重复]

    这个问题在这里已经有答案了 我正在使用 Amazon RDS 但我不需要实例全天候 24 7 运行 因为我现在只是在开发 当我不需要 RDS 实例时 有什么方法可以停止它吗 我不想为我不使用的东西付费 RDS 数据库没有 停止 启动 操作
  • 在函数声明中,传递固定大小的数组意味着什么? [复制]

    这个问题在这里已经有答案了 这感觉是一个非常愚蠢的问题 但我有人参加编程课程向我寻求作业方面的帮助 我在他们的代码中看到了这一点 请对匈牙利表示法没有评论 void read dictionary string ar dictionary