指向结构数组的指针并获取内存

2023-12-28

A link是一个指向节点的指针

typedef struct node * link;

在 main() 中,我有以下代码(config->m 只是一些整数):

// array of pointers to structs
link heads[config->m]; 

// make memory for head nodes
for(i = 0; i < config->m; i++)
  heads[i] = malloc(sizeof(struct node));

该代码有效(这很棒)。但有什么办法可以分配config->m没有循环的内存片段? I tried

link heads[config->m];
heads = malloc(sizeof(struct node) * config->m);

但我友好的邻居编译器告诉我incompatible types in assignment

我知道我可以使用

struct node heads[config->m];

但我想用指针来做这些事情。

一如既往,有人会问我这是否是家庭作业的一部分,答案是肯定的(某种程度上)。但是这段特定的代码与实际的分配没有任何关系;这是为了我自己的启蒙。但感谢您的询问:|


不,你需要循环。您的 heads 数组本质上是一个二维数组。您至少需要两次分配。第一个是指针数组:

link * heads = (link*)malloc (config->m * sizeof (link));

第二个是 Heads 数组的每个成员指向的内存:

link buf = (link)malloc(sizeof(struct node) * config->m);
for(i = 0; i < config->m; i++)
    heads[i] = &buf[i];

然后取消分配:

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

指向结构数组的指针并获取内存 的相关文章

随机推荐

  • XSL-FO 的架构在哪里? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道如何 在哪里下载 XSL FO 1 1 架构 我找不到 XSL FO 1 1 模式 所以很多人
  • 如何在 SQLAlchemy 中建模“UNIQUE”约束?

    我正在编写一个 Flask SQLAlchemy 应用程序 其中有用户和组 用户可以属于多个组 并且他们在每个组中都有一个唯一的编号 询问如何对数据库进行建模 https dba stackexchange com questions 32
  • 如果您不知道 Powershell 中 JSON 对象的名称字段,如何获取它?

    我有这个 JSON 文件 CARD MODEL TITLE OWNER S MANUAL CARD MODEL SUBTITLE Configure your download CARD MODEL SELECT Select Model
  • 如何显示/隐藏(如果可能的话使用动画)LongListSelector 中的复选框

    我已经在 MSDN 上搜索了几个小时 但找不到如何在 Windows Phone 8 的列表中显示或隐藏复选框的示例 一个示例是在消息传递应用程序中 用户使用应用程序栏来按 多项选择 按钮 这允许用户选择多条消息 我发现了一些有关使用 Ex
  • 在 Visual Studio 中的包管理器控制台上更新多个包

    在 Visual Studio 中 包管理器控制台比包管理器对话框更快 这就是为什么我总是使用控制台 但是 有时我需要一次更新 2 3 个软件包 比如说模型 存储库项目 有没有命令可以一次指定这2 3个包 这样我就不用一一打字等待了 顺便说
  • PatternTest 未优化?

    在准备回应时Mathematica 中 PatternTest 的意外行为 https stackoverflow com q 8468072 618728我遇到了意想不到的事情数学我自己的行为 请考虑 test Print False M
  • Eclipse Xdebug 冻结在 57%

    我的问题 当从 Eclipse 为我的一个 php 页面启动调试配置时 该页面在 Chrome 中成功打开 但 Eclipse 调试器冻结在 57 位于 Eclipse 的右下角 并且永远不会进一步前进 永远不会达到设定的断点 我的设置 M
  • 在 swift 中打印而不换行

    在斯威夫特2 0中 print 自动添加换行符 在斯威夫特 1 2 中 println and print 曾经是单独的功能 那么我如何打印一些文本而不添加换行符 因为 swift 不再具有不附加换行符的打印功能 从 Swift 2 0 开
  • 确定汽车和非汽车模式之间最多 1 小时的时差

    I have household person time mode 1 1 07 45 00 non car 1 1 09 05 00 car 1 2 08 10 00 non car 1 3 22 45 00 non car 1 4 08
  • 无法使用 Ghost4J 加载库“gs”

    我正在尝试使用 Ghost4J 将 PDF 转换为 PNG 我知道人们以前曾问过这个问题 但在 OS X 10 和最新版本的 Ghost4J 中却没有 我已按照 zippy1978 的答案中列出的说明进行操作 使用 Java 将 PDF 转
  • WM_TOUCH 不会立即随触摸事件一起发送

    我正在使用触摸屏并使用 Windows 7 内置驱动程序 因为它从未提示我安装任何驱动程序 除了一个小问题外 它工作正常 当我触摸屏幕时 它不会发送 WM LBUTTONDOWN 直到我将手指移离屏幕 这样做似乎是为了确定我是否打算按住模拟
  • setlocale() 无法在 MacOS 上使用 MAMP 在本地主机上工作

    简而言之我的问题 我正在使用setlocale LC TIME de DE 为了用德语显示日期 时间的 口头 部分 即月份 工作日 这适用于任何公共服务器 但是doesn t在我的本地主机上 使用 MAMP 它以英语而不是德语显示它 详细地
  • 为 Mac App Store 创建基于 HTML5 的应用程序

    Mac 版的新 Tweetdeck 据说是基于 HTML5 的 http www cultofmac com 134237 tweetdeck releases html5 based app in the mac app store ht
  • Networked-aframe 为新用户分配不同的位置

    我在使用 networked aframe 设置的多人 A Frame 环境中遇到问题 我希望连接的前三个用户有不同的生成位置 并且任何其他用户在第三个位置生成 但我无法让它工作 这是我到目前为止在 Html 中所拥有的内容
  • 以“更快”的方式隐藏信息?

    我有一个关于面向对象设计原则和 Swift 的问题 我对 Java 非常熟悉 目前正在学习 udacity 课程 以便初步掌握 Swift 在 Java 社区 基本上在每个遵循 OOP 的社区 中 使用信息隐藏技术 例如将数据隐藏或封装在类
  • Bootstrap 词缀重置不起作用

    我正在尝试在引导程序中实现一个词缀 这应该不是问题 但我想让它响应 当页面调整大小时 某些元素将隐藏在页面顶部 并且由于宽度的变化 我需要重置词缀并设置到新位置 我刚刚搜索了一下 发现了一个接受的解决方案 https stackoverfl
  • 简单的 HTML 电子邮件:基本 CSS 样式被剥离

    我正在通过 python 脚本从 Linux 机器上的命令行发送一封简单的电子邮件 我查找了有关为什么 CSS 在电子邮件客户端中可能会被更改 删除等的答案 但是 我似乎无法解决在我看来简单的问题 当我发送带有表格的简单 HTML 电子邮件
  • 经典 ASP 应用程序 CINT 失败 - twitpocalypse v2

    由于数量值超过了 VBScript INT 可以存储的数量 我收到了一条非常讨厌的错误消息 实际上是用户 这完全是一个情况推特末日 http www twitpocalypse com 由于 CINT 在这种情况下不起作用 最好的解决方法是
  • 在 Weblogic 10.3 中调用 EJB 时出现 NameNotFoundException

    我有一个 EJB 定义如下 package com foo Stateless mappedName HelloWorld public class HelloWorldBean implements HelloWorld HelloWor
  • 指向结构数组的指针并获取内存

    A link是一个指向节点的指针 typedef struct node link 在 main 中 我有以下代码 config gt m 只是一些整数 array of pointers to structs link heads con