二维数组声明 - Objective C

2023-11-29

有没有办法分两步声明一个二维整数数组?我的范围有问题。这就是我正在尝试做的:

//I know Java, so this is an example of what I am trying to replicate:

int Array[][];
Array = new int[10][10];

现在,在 OBJ-C 中我想做类似的事情,但我无法获得正确的语法。现在我一步就拥有了它,但我无法在当前拥有它的 If 语句之外使用它:

int Array[10][10]; //This is based on an example I found online, but I need 
                   //to define the size on a seperate line than the allocation

谁能帮我解决这个问题吗?我知道这可能是一个更基本的问题,但是您不能在消息之外使用关键字“new”(据我所知),并且您不能将消息发送到整数。 :(

*


如果您知道边界之一的大小,这是我创建二维数组的首选方法:

int (*myArray)[dim2];

myArray = calloc(dim1, sizeof(*myArray));

并且可以通过一次调用将其释放:

free(myArray);

不幸的是,必须修复其中一个边界才能使其发挥作用。

但是,如果您不知道其中任何一个边界,这也应该有效:

static inline int **create2dArray(int w, int h)
{
    size_t size = sizeof(int) * 2 + w * sizeof(int *);
    int **arr = malloc(size);
    int *sizes = (int *) arr;
    sizes[0] = w;
    sizes[1] = h; 
    arr = (int **) (sizes + 2);

    for (int i = 0; i < w; i++)
    {
        arr[i] = calloc(h, sizeof(**arr));
    }

    return arr;
}

static inline void free2dArray(int **arr)
{
     int *sizes = (int *) arr;
     int w = sizes[-2];
     int h = sizes[-1];

     for (int i = 0; i < w; i++)
         free(arr[i]);

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

二维数组声明 - Objective C 的相关文章

  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • 导入 RNCryptor 后架构 armv7 的未定义符号

    我导入了 RNCryptor 可以在这里找到 https github com rnapier RNCryptor https github com rnapier RNCryptor进入我的应用程序 但是 我在日志中收到了三个错误 Und
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • 比较数组中的文件、从文本文件中删除行、函数、日志记录

    所以我创建了这两个数组 Approved Shares 和 Current Shares Reads Approvedshare txt and makes the txt file into an array public objFSO
  • Mac OS X 上的 .dll 等效项 [重复]

    这个问题在这里已经有答案了 我来自一个Windows背景 我习惯于通过创建 dll 然后分发所有库和文档 因此 如果用户想要使用它 他会添加对库的引用并使用它 但是 在 Mac 中 我正在开发 SDK 并且我想要一种方法creating a
  • 从 robovm 项目创建 iOS 静态库(JNI 中的 BAD_ACCESS)

    我有大量的Java代码 只有计算函数 没有UI 我想在iOS中将其重用为静态库 我的方法是使用robovm http www robovm com并按照robovm论坛中两篇文章中描述的非官方方式创建静态库 1 基本方式 https gro
  • C# 和匿名对象数组

    这样的表达是什么意思呢 obj DataSource new new Text Silverlight Count 10 Link Tags Silverlight new Text IIS 7 Count 11 Link http iis
  • $0 和 $1 在 Swift 闭包中意味着什么?

    let sortedNumbers numbers sort 0 gt 1 print sortedNumbers 谁能解释一下什么 0 and 1在斯威夫特中意味着什么 另一个样本 array forEach actions append
  • iOS 7 tabBar 横线,如何去掉?

    Apple 在 iOS 7 中的 tabBar 上添加了一条细线 该线应该在 tabBar 和 UI 之间起到阴影或淡入淡出的作用 由于我使用的是定制的 tabBar 这条线非常令人恼火 你如何删除它 请告诉我这是可能的 否则我需要重新设计
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • iOS7 由 Interface Builder 生成的 NSIBPrototypingLayoutConstraint 自动布局约束问题

    以前在 iOS6 中 我的聊天消息视图控制器使用 IB 中精心构建的自动布局约束正确显示和动画 下面是 Xcode 5 中删除了约束的当前视图层次结构 升级到 XCode 5 和 iOS7 后 我发现我需要清除所有旧的约束才能解决默认的半透
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void
  • 诊断和仪器均缺少“僵尸”选项

    运行 Xcode 4 0 2 Zombie 选项丢失 其他 SO 帖子建议找到它的两个地方 Product gt Run looks like this Product gt Profile looks like this 奇怪的是 我之前
  • Glib 在 iPhone 应用程序中的使用

    我想基于现有的开源 Objective C 框架开发一个 iPhone 应用程序 但是该框架广泛使用了 glib 库 我找不到一种方法来构建和包含 iPhone 应用程序的 glib 库 非越狱 有什么办法可以做到这一点 或者有没有推荐的方
  • 如何计算 3D 坐标的线性索引,反之亦然?

    如果我有一个点 x y z 如何找到该点的线性索引 i 我的编号方案是 0 0 0 是 0 1 0 0 是 1 0 1 0 是最大 x 维度 另外 如果我有一个线性坐标 i 我如何找到 x y z 我似乎无法在谷歌上找到这个 所有结果都充满

随机推荐

  • Chrome:获取 iFrame 并插入正文

    我有以下代码 在 Firefox 中运行良好 if iFrame iFrame outerDoc getElementById dialog iframe var iFrameDoc iFrame contentWindow documen
  • 如何使用带有签名 url 的 gcs-resumable-upload

    我希望能够使用 Node js 客户端应用程序对 Google Cloud Storage 进行可恢复上传gcs 可续传上传包 连 同签名网址 因为客户端应用程序是由未经身份验证的用户调用的 我的服务器通过调用生成签名网址获取签名网址 wi
  • 简单的页面重定向?

    我有一个页面位于http site com services 我只想将其重定向到http site com services first service 执行此操作的最佳重定向是什么 我该如何执行此操作 PHP header Locatio
  • delphi中的sha1校验和

    我用delphi编写了以下代码 with TIdHashMessageDigest5 Create do begin st2 Position 0 Digest HashValue st2 SetLength Hash 16 Move Di
  • 如何为python 2.7安装tensorflow?

    我使用conda在windows 10环境中安装了python 2 7 根据tensorflow的文档 它只支持版本3及以上 有没有办法在保留 python 2 7 版本的同时安装tensorflow TensorFlow 在 Window
  • AndroidrelativeLayout fill_parent 在具有不同行高的 ListView 中出现意外行为

    我目前正在对项目进行一个小更新 并且在列表视图中遇到相对布局和填充父级的问题 我试图在每行的两个部分之间插入一个分隔符 就像默认拨号器的呼叫日志中的分隔符一样 我查看了 Android 源代码以了解他们是如何做到的 但在复制他们的解决方案时
  • 谷歌地图以及当不包含该 php 页面时如何将变量从 php 页面传递到另一个页面

    我正在研究这个例子 将 PHP MySQL 与 Google 地图结合使用 https developers google com maps articles phpsqlajax v3 我知道这个教程之前已经介绍过很多了 但我找不到我正在
  • python 只将第一个字母大写

    我知道 capitalize 将字符串的第一个字母大写 但是如果第一个字符是整数怎么办 this 1bob 5sandy to this 1Bob 5Sandy 只是因为没有其他人提到过 gt gt gt bob title Bob gt
  • Woocommerce 只读账单字段

    我有一些电子商务网站 其中客户帐单地址是在后端预定义的 我需要将 帐单地址 字段设置为 只读 以避免客户替换那里的信息 但我不知道如何 在哪里做到这一点 是否可以 将以下代码放入主题的 function php 文件中 add action
  • TCPClient 异常的新实例[重复]

    这个问题在这里已经有答案了 几天前我问过类似的问题 那时 我正在尝试使用套接字 目前 我正在使用 TCPClient 来为我完成脏套接字工作 我使用的是 Windows 7 和 Visual studios 2013 Professiona
  • 将 GSL 与 Xcode 集成

    我正在尝试让 Xcode 5 1 1 找到 GSL 的标头 我理想的解决方案是允许我在未来的所有项目中访问这些标头 而无需额外的工作 如果愿意 可以自动访问 大多数说明似乎都说在项目的 构建设置 gt 搜索路径 部分下添加库路径 但是 我的
  • 在纱线集群上运行时,Spark Hive 报告 pyspark.sql.utils.AnalysisException: u'Table not found: XXX'

    我正在尝试在 Cloud 4 2 Enterprise 上的 BigInsights 上运行 pyspark 脚本来访问 Hive 表 首先我创建配置单元表 biadmin bi4c xxxxx mastermanager hive hiv
  • PHP 上的 AES256 字符串加密和 iPhone 上的解密

    我的 php 代码中有这个 iv size mcrypt get iv size MCRYPT RIJNDAEL 256 MCRYPT MODE ECB iv mcrypt create iv iv size MCRYPT RAND key
  • 如何从android中的本地电话簿获取联系人

    我想在列表中显示所有本机联系人 并让用户将列表中的联系人 多个联系人 添加到我的应用程序数据库中 如何做到这一点 任何人都可以给我想法或分享一些代码 提前致谢 我在 Android 2 1 上使用了这段代码 它会拉下任何拥有电话号码 由 S
  • 如何轻松迭代“strings.xml”资源文件中的所有字符串?

    我创建了一个使用 TTS 引擎向用户发送反馈的应用程序 为了提高性能 我使用了synthesizeToFile and addSpeech方法 但要合成的文本字符串位于strings xml文件 因此我必须为 TTS 引擎说出的每个字符串调
  • “django 不支持从方法到十进制的转换”错误

    因此 我正在尝试计算下面提到的参数的咖啡价格 但是 每次我尝试调用 Coffeeprice 方法时 它都会给我一个conversion from method to Decimal is not supported error 我的视图和模
  • 如何从字符串中删除多个换行符

    给定一个字符串 我需要检查是否有多个换行符 n 如果有的话我需要将它们转换为一个换行符 你能给我看一下执行此操作的代码吗 谢谢 try this s s replaceAll r n 2 1
  • GCM CCS 上游消息是否会强制重新连接到 GCM 网络?

    我遇到了一些问题 GCM 推送通知无法在 Android 设备上正确到达 经过几天的研究 我发现 Android 设备使用心跳来保持与 GCM 服务的连接 遗憾的是 心跳似乎太高 因此 Android 设备可能 但并非总是 失去与 GCM
  • 完成另一个活动的活动[重复]

    这个问题在这里已经有答案了 假设我有 3 个活动 A B 和 C A 导致 B B 再导致 C 我希望能够在 A 和 B 之间来回移动 但我希望一旦 C 开始就完成 A 和 B 我了解如何通过意图启动 C 时关闭 B 但是当 C 启动时如何
  • 二维数组声明 - Objective C

    有没有办法分两步声明一个二维整数数组 我的范围有问题 这就是我正在尝试做的 I know Java so this is an example of what I am trying to replicate int Array Array