C:数组初始化段错误取决于大小和对 printf() 的调用

2024-01-24

另一个学生问我他的 C 代码有什么问题。我成功地重现了错误的行为,并且完全不知道为什么会出现段错误。考虑这个小小的 C 程序:

#include <stdio.h>

int main(void) {
    int N = 590;
    double A[N][N];
    double B[N][N];
    double C[N][N];
    printf("done");
}
  • Set N为 运行时不会出现错误,无论有没有输出。
  • set N to a value > 590:
    • 移除输出线后运行完美。
    • 编译并运行并输出:分段故障

这是什么原因呢?有人能解释一下吗?


您的应用程序可用的堆栈量非常依赖于系统,并且自动变量(例如双精度数组)会消耗堆栈空间。调用函数需要额外的堆栈空间(用于其变量以及保存的寄存器和返回点等内务处理)。您将离开堆栈末尾并尝试访问您被禁止访问的内存。

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

C:数组初始化段错误取决于大小和对 printf() 的调用 的相关文章

  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 在 angular2 中过滤数组

    我正在研究如何在 Angular2 中过滤数据数组 我研究过使用自定义管道 但我觉得这不是我想要的 因为它似乎更适合简单的表示转换 而不是过滤大量数据 数组排列如下 getLogs Array
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 如何在c#中的内部类中访问外部类的变量[重复]

    这个问题在这里已经有答案了 我有两个类 我需要声明两个类共有的变量 如果是嵌套类 我需要访问内部类中的外部类变量 请给我一个更好的方法来在 C 中做到这一点 示例代码 Class A int a Class B Need to access
  • 通过 NHibernate 进行查询,无需 N+1 - 包含示例

    我有一个 N 1 问题 我不知道如何解决它 可以在这个问题的底部找到完全可重复的样本 因此 如果您愿意 请创建数据库 设置 NUnit 测试和所有附带的类 并尝试在本地消除 N 1 这是我遇到的真实问题的匿名版本 众所周知 这段代码对于帮助
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • g++ 对于看似不相关的变量“警告:迭代...调用未定义的行为”

    考虑以下代码strange cpp include
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 我在在线程序挑战编译器中遇到演示错误

    include
  • 双精度类型二维多维数组的 pinvoke 编组作为 c# 和 c++ 之间的输入和输出

    我有以下我正在尝试解决的双物质类型的 2d 多维数组的 c 和 c pinvoke 编组 我已经查看了以下热门内容以获得我目前拥有的内容使用双精度数组进行 P Invoke 在 C 和 C 之间编组数据 https stackoverflo
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • 长时间等待向 Service Worker 发出请求

    我注意到 等待服务工作人员响应缓存中的项目的时间并不像您预期 的那么快 我发现两者的等待时间相同sw precache和一个定制的书面服务人员 造成此等待时间的可能原因是什么 如何减少它 My fetch自定义 Service Worker
  • ggplot错误的颜色分配

    颜色到十六进制值的分配是错误的 我不明白为什么 在将十六进制颜色添加到数据框之前我对它们进行了排序data然后在 ggplot2 函数中使用 我以为这样就能解决问题 但事实并非如此 我还创建了向量col其中包含十六进制以及 rgb 颜色值
  • Mod_Rewrite 不适用于 codeigniter 站点

    我为我的 codeigniter 站点尝试了 modrewrite 但是当我进入 htaccess 文件时 已经有一个了 RewriteEngine on RewriteCond 1 index php combine php images
  • Swift Scenekit - 居中 SCNText - getBoundingBoxMin:Max 问题

    享受 SCNText 上的alignmentMode 选项带来的乐趣 谷歌搜索了一下 看起来alignmentMode和containerFrame有问题 我发现的替代方案建议使用获取边界框功能来查找文本大小 然后手动进行相应调整 很好 除
  • W3C 验证器显示“提要未验证”“url 必须是完整的 URL”...有什么问题吗?

    正在验证我的提要 它的附件的 URL 为 https archive org download NigelFarageAPersonalMessageToNorthernIrelandVoters Nigel 20Farage 20a 20
  • 当复选框被选中时如何调用javascript函数

    当复选框位于 gridview 内时 如何调用 Javascript 函数 protected void AlteraStatusExpiraSeteDias Click object sender EventArgs e for int
  • 从 Rails 2.3.6 开始不推荐使用 overwrite_params —— 接受的解决方法吗?

    所以 看起来像overwrite params从 Rails 2 3 6 开始已弃用 是否存在被普遍接受为最佳实践的合适解决方法 例如 我曾经能够执行以下操作 我认为这非常有用 url for overwrite params gt pag
  • 散列范围

    我有一个范围元素数组 每个元素都有一个开始和一个结束 在数组内 范围不重叠 并且已排序 即 代码只是为了说明 不要指望它能够编译 var arr 0 3 5 10 15 59 给定一个值 比如 9 是否有范围的哈希函数可以让我快速获取包含该
  • Java构建时间常数配置

    我有一个项目想使用多种配置来构建 我有一个常量需要在构建之间有所不同 但我不知道如何根据我的配置更改它 例如 我希望能够根据配置文件中的值执行以下操作 WebService targetNamespace http example com
  • 在 PHP 中获取浮点数的小数部分的最佳方法是什么?

    在 PHP 中如何找到浮点数的小数部分 例如 如果我有值1 25 我想回来0 25 x x floor x
  • C:表示不带浮点数的分数

    我正在为没有硬件浮点支持的嵌入式系统 MSP430 编写一些代码 不幸的是 当我进行测距时 我需要在代码中使用分数 而精度为 1m 的短程传感器并不是一个很好的传感器 我可以用整数进行尽可能多的数学运算 但到最后 我肯定需要对两个值进行分数
  • 使用 iOS 模块构建 Native View 并在 Titanium 中使用它们

    我想构建一个 iOS 模块 其中有一个 viewController 类及其 xib 文件 现在的问题是如何从我的钛代码中调用该视图 我知道有可用的视图代理 但由于文档不太好 不知道如何使用它们 到目前为止 我已经创建了一个可以传递非图形数
  • 如何从 PHP 中的日期时间戳获取时间和日期?

    我有一根像8 29 2011 11 16 12 AM 我想保存在变量中 例如 dat 8 29 2011 and tme 11 16 12 AM 如何实现这一目标 你能举个例子吗 E g
  • 无法向 Google 电子表格添加行

    我可以打开工作表并从标题中读取单元格 Google 电子表格中的第一行是标题 我已在 Google 电子表格中手动添加了 Name my val1 my val2 my val3 Other 这是相关的谷歌文档 https develope
  • 从 git svn clone 中排除文件

    我正在将 SVN 存储库迁移到 Git 并且我有 7000 多个二进制文件 我希望从一开始就将它们排除在导入之外并成为 Git 历史记录的一部分 而不是在之后清理它们 参考此question https stackoverflow com
  • 如何将元组的元组转换为其元素的计数?

    我有这个tuple元组 TupleOfTuples Venue1 Name1 Venue1 Name2 Venue2 Name3 Venue3 Name4 Venue3 Name5 Venue3 Name6 我想将其转换以获得如下结果 Ou
  • 如何在 WPF 中使用线程的结果?

    不幸的是 线程和任务对我来说是一个很大的谜 必须在与 DependencyObject 相同的线程上创建 DependencySource 我正在努力避免用户界面冻结 我的方法是在线程中完成工作 然后使用线程的输出设置属性 我有一个基类Jo
  • 重新选择 - 调用另一个选择器的选择器?

    我有一个选择器 const someSelector createSelector getUserIdsSelector ids gt ids map id gt yetAnotherSelector store id yetAnother
  • 克服公共项目的 GitHub API 速率限制?

    我有一个公共存储库 它是 Ansible 角色 此 Ansible 角色使用 GitHub API 来获取给定存储库的最新版本 我使用此元数据以便随后下载给定项目的最新版本二进制文件 不幸的是 当我在 Travis 中运行测试并偶尔在本地计
  • C:数组初始化段错误取决于大小和对 printf() 的调用

    另一个学生问我他的 C 代码有什么问题 我成功地重现了错误的行为 并且完全不知道为什么会出现段错误 考虑这个小小的 C 程序 include