问题标签 [c]

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 投票
3 回答
1304 浏览

java - C 中的 Ruby 块/Java 闭包

我一直在尝试了解 Ruby 块是如何工作的,为此我一直在尝试在 C 中实现它们。

实现闭包的一种简单方法是将 a 传递void*给封闭堆栈到闭包/函数,但 Ruby 块似乎也处理使用该块的范围内的返回和中断语句。

我认为 Java 的闭包提案之一也是这样工作的。

那么,您将如何在 C 中实现 Ruby 块/Java 闭包?

0 投票
31 回答
745667 浏览

c++ - #include 和有什么区别和#include“文件名”?

在 C 和 C++ 编程语言中,在语句中使用尖括号和使用引号有什么区别include,如下所示?

  1. #include <filename>
  2. #include "filename"
0 投票
4 回答
836 浏览

c++ - 实现日志观察器

我想知道如何实现一个类似于tail -fC/C++ 的程序,一个监视和处理添加到日志文件的新行的程序?

0 投票
10 回答
5071 浏览

c++ - memset() 导致数据中止

在调用memset(). 问题是,除非代码运行几天,否则通常不会发生这种情况,因此很难在实际中捕捉到它。

我正在使用以下代码:

如您所见,我并没有尝试使用大小比最初分配的更大的 memsetmalloc()

有人看到这可能有什么问题吗?

0 投票
11 回答
41050 浏览

c - ANSI C 和 K&R C 之间的主要区别是什么?

关于 ANSI C的维基百科文章说:

ANSI C 标准化过程的目标之一是生成 K&R C(第一个发布的标准)的超集,其中包含随后引入的许多非官方特性。然而,标准委员会还包括了一些新特性,例如函数原型(借用自 C++ 编程语言)和功能更强大的预处理器。参数声明的语法也进行了更改以反映 C++ 风格。

这让我觉得存在差异。但是,我没有看到K&R C和ANSI C的比较。有没有这样的文件?如果不是,主要区别是什么?

编辑:我相信 K&R 书的封面上写着“ANSI C”。至少我相信我家里的版本是这样的。所以也许不再有区别了?

0 投票
4 回答
1678 浏览

c++ - 与 MySQL 服务器通信的最佳方式是什么?

我将使用 C/C++,并且想知道与 MySQL 服务器对话的最佳方式。我应该使用服务器安装附带的库吗?除了官方图书馆之外,我还应该考虑哪些好的图书馆?

0 投票
10 回答
1202 浏览

c++ - 如何在运行时指定数组的一个和维数?

我正在研究建立分布熵的函数。它使用 copula,如果有熟悉的话。我需要根据“关心”的维度来总结数组中的值。

示例:考虑以下示例...

我需要用一个'n'维度的数组来做到这一点,这可能是20。此外,我需要能够做到这一点,关心某些维度,并折叠其余的维度。我对此特别困难,因为我无法想象 20 个维度:p。如果有人可以帮助我设置一些 c/c++ 代码来折叠/求和,我将非常感激。

更新:

刚到家。这里有一些信息可以回答您的问题:

  1. 很抱歉回滚编辑,我希望当我单击回滚时它会向我显示更改,以便我可以看到我搞砸了,有点像维基百科。事实并非如此,正如我发现的那样。
  2. @jeff - 什么没有意义?我使用这项出色的服务是出于(我认为是)合法的原因。我想在我的爱好上做得更好,就像我在高中一样。我的许多帖子都与实现遗传算法有关(这篇文章,稀疏数组,排列数组,指针操作)。
  3. 我使用的是稀疏数组表示,因为使用传统(密集)数组可能会超过宇宙中的分子数量。目前,sparsearray 本身的实现并不重要,因为我正在努力使其与标准数组一起工作,然后再进行稀疏表示。对于那些还没有看过我之前的问题的人,我使用二叉搜索树作为包含稀疏数组点的结构,并使用“驱动程序”函数在必要时遍历树,返回该函数的设计用途。这是灵活的,所以我可以容纳许多不同的访问数组的方法。
  4. 该结构是一个超立方体,并且在运行时指定了维度的数量,以及每个维度的长度(它们都是相同的,因为它是一个超立方体)。

感谢大家的投入。

0 投票
22 回答
1416580 浏览

c - ++i 和 i++ 有什么区别?

++i在 C 中,使用andi++和应该在for循环的增量块中使用和有什么区别?

0 投票
11 回答
364921 浏览

c - 如何修复“在 C99 模式外使用的 for 循环初始声明”GCC 错误?

我正在尝试解决3n+1 问题,我有一个for看起来像这样的循环:

不幸的是,当我尝试使用 GCC 编译时出现此错误:

3np1.c:15:错误:在 C99 模式外使用的“for”循环初始声明

我不知道C99模式是什么。有任何想法吗?

0 投票
14 回答
121975 浏览

c - C 中的 i++ 和 ++i 之间是否存在性能差异?

如果不使用结果值i++,是否存在性能差异?++i