malloc(sizeof(int)) vs malloc(sizeof(int *)) vs (int *)malloc(sizeof(int))

2024-03-08

我承认这三个都有不同的含义。但是,我不明白这些都适用于哪些特定情况。任何人都可以分享每个例子吗?谢谢。

       malloc(sizeof(int))
       malloc(sizeof(int *))
(int *)malloc(sizeof(int))

malloc(sizeof(int))意味着您正在从堆中分配空间来存储int。您保留的字节数与int需要。 这会返回一个您应该转换为的值int *。 (一个指向int.) 正如一些人所指出的,C 中的典型做法是让隐式转换来处理这个问题。

malloc(sizeof(int*))意味着您正在从堆中分配空间来存储指向int。您将保留指针所需的字节数。这将返回一个您应该转换为的值int **。 (一个指向一个指针的指针int.)

(int *)malloc(sizeof(int))与第一次调用完全相同,但结果显式转换为指向int.

请注意,在许多架构上,int与指针大小相同,因此它们看起来(错误地)都是相同的东西。换句话说,您可能会意外地做错事情,但生成的代码仍然可以工作。

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

malloc(sizeof(int)) vs malloc(sizeof(int *)) vs (int *)malloc(sizeof(int)) 的相关文章

随机推荐

  • 在 ASP.Net Core 应用程序启动期间运行异步代码

    更改函数签名后ConfigureServices为了异步 最初它只是一个无效的同步函数 并且应用程序工作得很好 我收到以下错误 无法找到所需的服务 请致电添加所有必需的服务IServiceCollection AddAuthorizatio
  • 在 C# 中反转 md5 哈希算法 [重复]

    这个问题已经存在了 可能的重复 反转 MD5 哈希值 https stackoverflow com questions 1471654 reversing an md5 hash 在c 中给出这个方法 public string Calc
  • 在管道 grep 到 grep 后保留颜色

    有一个类似的问题grep 后保留 ls 颜色 https stackoverflow com questions 867877 preserve ls colouring after greping但令我烦恼的是 如果将彩色 grep 输出
  • 在报表生成器/SSRS 中的每个页面上重复垂直线

    我希望在报告的每一页上都包含一条垂直线 该线从报告正文的顶部延伸到底部 我怎样才能实现这个目标 我尝试过使用 RepeatWith 但它似乎不起作用 该行仅出现在第一页上 Thanks 这仅仅是为了外观和感觉的目的吗 我会用这样的线创建一个
  • Scalacheck 不会正确报告失败的情况

    我写了以下规范 An IP4 address should belong to just one class in val addrs for a lt Gen choose 0 255 b lt Gen choose 0 255 c lt
  • 有 jQuery jEditable 多选插件吗?

    我正在使用优秀的j可编辑 http www appelsiini net projects jeditable用于在我的页面上进行一些就地编辑的插件 有一个地方我需要一个多选元素 有没有 jEditable 插件可以让我做到这一点 我一直在
  • c++ boost::bind 存储不同类型的函数指针

    我今天查了很多资料 却一无所获 有什么方法可以存储从 boost bind 不同类型返回的仿函数吗 我找到了一个使用 boost variants 的示例 但不确定是否需要这样做 为简单起见 Foo 和 Bar 已被简化 include
  • 哪种适用于 Node.js 的 MySQL 驱动程序可以在 Windows 上运行?

    我想在 Windows 上将 MySQL 与 Node js 一起使用 我尝试过使用节点数据库mysql https github com mariano node db mysql 不过好像不支持Windows 是否还有其他适用于 Win
  • 每 X 时间运行一次后台任务

    我想启动一项服务 偶尔在所有平台上检查是否有通知出现 有没有连接所有平台的nuget或者一些例子 您可以使用Device StartTimer TimeSpan minutes 方法启动一个后台任务 该任务将在给定的时间跨度后重复 这是一个
  • JavaFX 中的可复制标签/文本字段/LabeledText

    我只想在 JavaFX 中创建可复制的标签 我尝试创建没有背景 没有焦点边框和默认背景颜色的 TextField 但没有成功 我发现了很多关于如何从控制中删除焦点背景的问题 但所有这些看起来都像是 黑客 是否有任何标准解决方案来实现可复制文
  • Eclipse 4.2 和 Java 8

    我找到了这个page http www eclipse org eclipse development plans eclipse project plan 4 2 xml声明 Java 8 对 Juno 的支持已推迟 但我找不到更多信息
  • 使用 C# 解析 JSON 数据

    我有大约 7000 行 JSON 数据需要解析 可以看到仅部分示例here https graph facebook com 367501354973 access token 2227470867 7C2 fYhXYnFbw5vb6GXN
  • 在选择选项中使用@click - Vue.js 2

    我想在选择选项中使用 click 到目前为止我有
  • 使用 HoloEverywhere 构建 Android Studio 项目失败

    每当我尝试构建包含 HoloEverywhere 作为依赖项的项目时 我都会遇到以下错误 Gradle 失败 构建因异常而失败 出了什么问题 任务 HoloEverywhere Library processDebugManifest 执行
  • 意外结果 - Google Autocomplete 针对约克郡

    我使用 Google 地图自动完成 API 得到针对 约克郡 的意外结果 我已过滤结果以仅显示英国地区 请帮我 以下是我在搜索约克郡时得到的结果 北约克郡 Royaume Uni 约克郡东方 Reino Unido 南约克郡 统一王国 下面
  • Java 中的类型转换以及动态类型与静态类型

    我正在学习静态类型与动态类型 并且我已经了解了它的大部分内容 但这种情况仍然让我困惑 如果上课B延伸A 我有 A x new B 是否允许以下 行为 B y x 或者是否需要显式转换 B y B x Thanks 显式转换是required
  • 如何退出 Google 云端硬盘帐户?

    如何退出 Google 云端硬盘服务 我不想切换帐户 而是最终退出 我正在开发一个应用程序 该应用程序将使用用户的 Google 云端硬盘存储以及其他存储服务 因此我需要允许用户退出 Google Drive 我发现这有效 这些与我使用的登
  • 如何验证 HTML5 日期格式

    我想使用 HTML5 日期输入字段
  • Tomcat 7 - Maven 插件?

    我只是想仔细检查一下 是否有人找到或正在开发 Tomcat 7 插件 如果没有 有人有兴趣帮助我启动和运行它吗 我想要 Glassfish 的另一个快速替代品 JBoss AS 6 0 对于快速模型来说仍然有点重 Walter 它对我来说如
  • malloc(sizeof(int)) vs malloc(sizeof(int *)) vs (int *)malloc(sizeof(int))

    我承认这三个都有不同的含义 但是 我不明白这些都适用于哪些特定情况 任何人都可以分享每个例子吗 谢谢 malloc sizeof int malloc sizeof int int malloc sizeof int malloc size