问题标签 [malloc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9724 浏览

c - 从 void* 到 char** 的无效转换

自从我弄乱C代码以来已经有一段时间了。

在 Ubuntu 下使用 gcc 编译 C 代码时出现以下错误。

我用来编译代码的命令是(如果这些错误是由于我使用的编译器造成的,请告诉我如何让它消失):

错误:从 'void*' 到 'char**' 的无效转换</p>

第 39 行是:

序列被声明为:

seqNum 声明为:

0 投票
4 回答
4599 浏览

c - char 数组与 char 指针

使用recv通过套接字接收数据时,我注意到:

我收到

消息

“mesg”是我发送的,附加了一些随机字符。

如果我使用

相反,我收到

消息

所以没有随机的东西附加到我的字符串中。我发现如果我使用 char[5] 代替它也可以,但我真的不明白为什么。malloc(4) 真的分配了 5 个字节,第五个是 NUL 吗?

0 投票
9 回答
35334 浏览

c++ - 如何获取使用 malloc() 分配的内存块的大小?

可能的重复:
如何从 C 中的指针获取数组的大小?
有没有办法以编程方式确定 C++ 数组的大小?如果不是,为什么?

我从 C 风格的函数中获得了一个指向一块已分配内存的指针。现在,为了调试目的,知道这个指针指向的分配内存块有多大是非常有趣的。

有什么比盲目地越界引发异常更优雅的呢?

提前致谢, 安德烈亚斯

编辑:

我在 Windows 上使用 VC++2005,在 Linux 上使用 GCC 4.3

编辑2:

_msize在 VC++2005 下不幸的是它在调试模式下导致异常......

编辑3:

好。我已经尝试了我上面描述的方式,除了例外,它有效。至少在我调试并确保在调用库后立即退出缓冲区边界时。奇迹般有效。

它只是不优雅,也不能用于生产代码。

0 投票
11 回答
7950 浏览

c++ - malloc 在这段代码中做了什么?

你能解释一下下面的代码吗?

  1. 在这里做什么 malloc
  2. 为什么num + 1使用?
0 投票
4 回答
2268 浏览

c - C 中的 malloc() 函数

谁能解释一下?

这是一段通过C语言在链表中输入数据的代码。代码不完整,但我认为它足以达到目的。请基本上解释以下几行的编码:

0 投票
6 回答
12021 浏览

c - C: 通过 void 返回的函数 *

来自 Java,我对使用 Void 允许以下返回值感到困惑:

这是返回一个指向分配内存的指针吗?

0 投票
5 回答
101676 浏览

c - 为什么每次使用 malloc 时都会收到警告?

如果我malloc在我的代码中使用:

我从以下位置收到此警告gcc

0 投票
17 回答
4167 浏览

c - 为什么在 C 中使用 malloc 时要指定大小?

采取以下代码:

有了这条线malloc(2 * sizeof *p),我正在为两个整数分配空间,对吗?但是,如果我将一个添加int到第三个位置,我仍然会被正确分配并且可以检索。

所以我的问题是,为什么在使用时指定尺寸malloc

0 投票
6 回答
422 浏览

c - 下面的内存分配有什么不同吗?

动态分配内存有四种方式,这四种方式有区别吗? 首先像这样:

第二个是这样的:

第三个是这样的:

第四个是这样的:

你应该知道,我将在方法“exam”之外使用变量“seq”。 请解释一下上面的代码,非常感谢。

0 投票
6 回答
13070 浏览

c - 你怎么知道用 malloc() 分配多少空间?

我是一个 C 新手,我来自 C#。我一直在学习内存管理和malloc()功能。我也遇到过这段代码:

我不明白这是分配了多少空间a_persons_name。它是分配2个字符(例如AB)还是其他?

我也知道您有时可以“幸运”malloc并使用未分配的空间(这可能导致数据损坏和段错误)。那么我怎么知道我分配了多少空间以及我需要多少空间呢?