问题标签 [calloc]

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 投票
8 回答
3659 浏览

c - C清除双打数组的最佳方法

在 C 中,如何重置给定指针以使数组中的所有值都是指定值?最好使用 for 循环,还是有一个函数可以用来将数组中的所有值设置为 0。

我的代码目前是这样的:

这(对我来说)似乎很老套,我该如何改进这段代码?

0 投票
3 回答
259 浏览

c - 重新分配后的动态内存存储问题 - C

对于学校的作业,我们必须使用结构来制作矩阵,该矩阵可以为无限量的矩阵存储无限量的点。(理论上无限)

对于作业,我决定使用 calloc 和 realloc。矩阵的大小如何变化:每次达到其点的限制时,它的大小都会翻倍(因此它从 1 开始,然后到 2,然后是 4,依此类推)。每次添加矩阵时,它的大小也会翻倍。

这就是我的问题所在。添加初始矩阵后,它会添加第二个矩阵名称和点,它给了我以下信息:

B???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

B 是我想要的部分(因为我稍后会使用 strcmp),但是 ? 标记不应该在那里。(明显地)

我不确定它为什么会这样做。由于代码是模块化的,因此要获得其中的一部分来准确显示它是如何进行的并不是很容易。

注意:我可以通过它的方法访问矩阵的点:(MyMatrix[1].points[0].x_cord;这只是一个例子)

产生问题的示例代码:

结构:

设置矩阵功能:

增长矩阵功能:

添加矩阵函数,在矩阵增长一次后输出此问题。

0 投票
3 回答
2611 浏览

c - 确定 TCHAR 的 calloc 数组的长度(不是字符串长度)

我有这个代码:

dwRes 始终为 8,当然 _tcslen(sRes) 始终为 0。

我正在寻找16384。

0 投票
3 回答
9152 浏览

c - 在 C 中具有带有指针的结构的 Calloc

我知道 calloc 请求要使用的内存,在所有位上写入 0,然后返回指向它的指针。

我的问题是:如果我将 calloc 与包含指针的结构一起使用,这些指针会具有 NULL 值还是我必须将它们设置为指向 NULL?

所以基本上,在我将 calloc 与 struct a 一起使用后,name 和 p 会指向 NULL 吗?

谢谢!

0 投票
6 回答
243408 浏览

c++ - 初始化 C++ 结构的正确方法

我们的代码涉及一个 POD(普通旧数据结构)结构(它是一个基本的 c++ 结构,其中包含其他结构和 POD 变量,需要在开始时进行初始化。)

根据我读过的内容,似乎:

应该将所有值初始化为零,如下所示:

但是,当以第二种方式初始化结构时,Valgrind 后来在使用这些变量时抱怨“条件跳转或移动取决于未初始化的值”。我的理解在这里有缺陷,还是 Valgrind 抛出误报?

0 投票
1 回答
174 浏览

c - Calloc 提供一个在已分配内存中开始的指针?

我遇到了某种指针冲突,

基本上,在我做的一个功能中,

然后很快在我做的一个子功能中,

第一个地址 + 28 是 0x0..d2C,即扩展第二个 calloc 中提供的指针...

这里发生了什么?

指针值来自 printf,而不是 gdb。

0 投票
1 回答
453 浏览

calloc - calloc 在函数参数返回值

我的代码在我的计算机和我拥有的其他测试虚拟机上运行良好,但在我客户的计算机上,行为未定义。有时,在 _tmain 中的 MessageBox 上按 OK 后,编译的 exe 使用 100% 的 CPU,有时它会爆炸。

我试过删除最后一个free,甚至放了一个sTemp=NULL;after free,但同样的问题正在发生。

谢谢!

0 投票
3 回答
244 浏览

c - 释放内存的最佳方法是什么?

我正在研究 ANSI C。

我有一个用字符数组创建的字符串对象..我认为该对象会导致内存泄漏..当我运行我的程序大约五分钟(可能几乎是 10000 次迭代)时,我使用的内存变得越来越大..

我试图通过释放和删除功能释放我的对象使用的内存。但是,删除不是一个有效的功能。在另一边,free 看起来像是先运行良好。但我得到了free():invalid pointer..

我怎样才能解决这个问题?我可以做不同的事情吗?


这是我的一些代码..

0 投票
1 回答
143 浏览

ios - NSThread 是否具有与主线程相同的内存权限?

NSOperationQueue用来管理一个相当长的 iOS 应用程序的阶段,所以我想异步管理它。在那个阶段,我通过直接使用calloc函数在 C 中分配大数组。大我的意思是一个 1024x256 二维数组的浮点数和类似的东西。

如果一切都驻留在主线程上,而不是应用程序在计算时锁定,但一切正常,如果相反,我将重的部分移到 aNSInvocationOperation那么我得到了许多奇怪的结果,调试器有时我在控制台中收到一条奇怪的消息,说明

现在没有可用于编程的内存:调用 malloc 不安全

所以我想知道由操作队列管理的线程与主线程相比是否有一些不同的限制,如果有什么更好的办法来解决这个问题。

0 投票
4 回答
2954 浏览

c - Calloc 导致分段错误

这是我的代码:

目的是将 2 位数字分配给 (char *)。当我运行代码时,出现分段错误。valgrind 的输出是-