重新分配返回 NULL

2023-12-24

int main() {
    struct lottery *array;      

    array = (struct lottery *)malloc(3000 * sizeof(struct lottery));       
    int opt, counter;

    menu1();
    scanf("%d", &opt);
    if (opt == 1)
        Load(array, &counter);
    else
        exit("0");
    menu2();
    counter--;
    scanf("%d", &opt);
    while (opt != 7) {
        switch (opt) {
        case 1:
            Save(array);
            break;
        case 2:
            Enterd(array, &counter);
            printf("%d\n", counter);
            break;
        }
        menu2();
        scanf("%d", &opt);
    }
    return 0;
}

void Enterd(struct lottery *a, int *count) {
     struct lottery *b;
     int x;

     (*count)++;
     x = *count;

    printf("Your new data will have an ID of %d\n",x);
    a[x].aa = x;

    b = (struct lottery *)realloc(a, x * sizeof(struct lottery));
    if (b == NULL) {
        printf("Memory could not be allocated for your new input.Program will now exit...\n");
        exit("0");
    }

    a = b;

    printf("What is the date of your new draw?\n");
    scanf("%d/%d/%d", &a[x].date1.day, &a[x].date1.month, &a[x].date1.year);
    printf("Now please insert the 5 non-joker numbers\n");
    scanf("%d%d%d%d%d", &a[x].n1, &a[x].n2, &a[x].n3, &a[x].n4, &a[x].n5);
    printf("What is the 'Joker' number of this draw?\n");
    scanf("%d", &a[x].joker);
    printf("Your input is now complete.");
}

我正在写一个关于一些彩票文件的保护。我在向彩票数组添加更多数据的函数中遇到这个问题。每当x包含1989年,我的realloc来电返回NULL。我设置x到 1985 年i可以向数组添加 4 个以上的输入,但无论何时x1989年,它依然回归NULL。我的问题是:代码有问题还是我的内存仍然不足?


如果 realloc 返回 null,首先打印出您要求分配的内存量。如果是负数或者很大的数字,那就有问题了。如果它是一个合理的数量,并且您有一台还算不错的机器,那么您不太可能内存不足。所以 malloc() 系统肯定以某种方式被破坏了。要么您传递了一个无效的指针,要么您已经写到了块的末尾,可能是在程序的完全不相关的部分。

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

重新分配返回 NULL 的相关文章

  • 添加 Nullable int 时保持 null?

    我想添加可为空的int 并保留null当所有值都是null 我想要这个结果 1 2 3 1 null 1 null null null O null 0 问题是 如果我将一个值与 null 相加 结果为 null int i1 1 int
  • CMake 找不到请求的 Boost 库

    既然我已经浏览了其他人的解决方案几个小时 但找不到适合我的问题的正确答案 我想将我的具体问题带给您 我正在尝试使用 CMake 构建 vsomeip 为此 我之前构建了 boost 1 55 但是 我在 CMake 中收到以下错误 The
  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 在现代 C++ 中,临时生命周期延长何时有用?

    在 C 中 您可以将函数的返回值 返回值 而不是引用 绑定到 const 引用 并且代码仍然有效 因为该临时对象的生命周期将延长到作用域末尾 例如 std string get string return abc void f const
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • 一元 +/- 运算符如何可能导致“-a”或“+a”中的整数提升,“a”是算术数据类型常量/变量?

    这句看似微不足道的台词摘自我的迈克 巴纳汉和布雷迪的 C 书 第 2 8 8 2 节 http publications gbdirect co uk c book chapter2 expressions and arithmetic h
  • 在 omp 并行 for 循环中使用 unique_ptr 会导致 SEG.FAULT

    采取以下代码 include
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • 使用具有抗锯齿功能的 C# 更改抗锯齿图像的背景颜色

    我有一个图像需要更改背景颜色 例如 将下面示例图像的背景更改为蓝色 然而 图像是抗锯齿的 所以我不能简单地用不同的颜色替换背景颜色 我尝试过的一种方法是创建第二个图像 仅作为背景 并更改其颜色并将两个图像合并为一个图像 但是这不起作用 因为
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • 需要提取字符串中点后的最后一个数字,如“7.8.9.1.5.1.100”

    我需要提取 C 字符串中最后一个点后面的最后一个数字 例如 7 8 9 1 5 1 100 并将其存储在整数中 Added 该字符串也可以是 7 8 9 1 5 1 1 或 7 8 9 1 5 1 0 我还想验证它在最后一个点之前恰好是 7
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您

随机推荐

  • 如何在 Kubernetes 中回收 Pod

    我希望在一段时间后 例如每周或每月 从我的部署中优雅地回收我的 Pod 我知道如果我知道 Kubernetes 命令 我可以为此添加一个 cron 作业 问题是在 Kubernetes 中执行此操作的最佳方法是什么 哪个命令可以让我实现这个
  • WCF,自签名加密证书

    我想使用 aspnet 成员身份创建 WCF 服务来授权用户 但是 如果我只需要证书用于加密目的 那么它是自签名证书还是需要从供应商那里购买证书有关系吗 无论您是否对用户进行身份验证 自签名证书都会带来相同的风险 最佳实践是在生产环境中使用
  • ISAPI ZEND url 重写添加额外的“/index.php/”到 url

    我们最近在服务器上重新安装了我们的网站 系统管理员说这是一次精确的重建 在我看来确实如此 但发生了一些不同的事情 我最初并没有开发该网站 那些开发过的网站也不再可用 管理站点的网址现在是 admin site com index php s
  • 如何在模型 ir.actions.server odoo 12 中给出用户组(XML)?

    我使用这个 xml 代码在 操作 内添加一个按钮 但我需要将该按钮限制为某些用户组
  • Objective C:向视图控制器添加加载视图

    在我的应用程序中 我的许多页面都需要一个加载屏幕 如何创建与下面的屏幕截图类似的加载效果 检查 MBProgressHUD https github com jk MBProgressHUD https github com jk MBPr
  • 如何以编程方式更改列表视图高度..?

    我想知道如何以编程方式更改列表视图的高度 是否可以更改单个列表项的子项高度 ViewGroup LayoutParams params listView getLayoutParams params height whatYouWant l
  • 通过Python中的服务帐户访问Google Cloud Storage的权限

    我正在尝试获取一个服务帐户来在 Google Cloud Storage 中创建 blob 来自 Python 脚本 但我遇到了凭据问题 1 我为我的项目创建服务帐户 然后下载 json 格式的密钥文件 home user config g
  • 为什么数组需要 ClassTags 而 List 这样的集合不需要?

    这工作正常 def x A a A List a 没有适用于 A 的 ClassTag def y A a A Array a 但这当然是犹太洁食 def y A ClassTag a A Array a 是什么赋予了 数组在运行时保留其类
  • 按文件夹对伊斯坦布尔代码覆盖率报告进行分组

    我正在使用 istanbul 和 nyc 命令运行 NodeJs 的代码覆盖率报告 我使用 mocha 进行单元测试 我按照预期得到了每个文件的报告 但我希望看到的是具有单个目录摘要的报告 让我更详细地解释一下我得到了什么以及我想看到什么
  • ValueError:在 LightGBM 中检测到循环引用

    训练LightGBM模型时出现以下错误 Train the model import lightgbm as lgb lgb train lgb Dataset x train y train lgb val lgb Dataset x t
  • IE8 的 calc() 是否有仅 CSS 的后备方案

    我知道有一个CSS 后备calc 适用于IE6 7 https stackoverflow com questions 16034397 css calc alternative 同样 我知道有jQuery 的替代品 https stack
  • Android - 按下主页键时关闭应用程序

    我制作的这个应用程序运行良好 但是当我离开该应用程序并再次打开它时 它总是强制关闭 我怎样才能做到当用户按下主页和 或返回键时它会杀死应用程序进程 使得当应用程序再次打开时它有一个全新的开始 您不应该 终止进程 您应该处理主页按钮按下和其他
  • Azure API 管理(策略)

    我需要帮助为我的一项任务制定 APIM 策略 我有两个有效负载 从外部服务获取 UniqueID 并验证 Webhook 来自该外部服务 发送请求时 其他有效负载将进入请求正文 这两个有效负载有些不同 因此当我将来自外部服务的有效负载放入其
  • 表面视图示例

    所以我花了大约两天的时间试图找到一份工作SurfaceView 我在网上遵循的教程即使严格遵循也不起作用 我通常会看到全黑的屏幕 为了帮助自学它是如何工作的 我需要一个工作SurfaceView程序 我正在寻找一个具有以下功能的程序Surf
  • 在 zend 框架下载中找不到 zf.bat [重复]

    这个问题在这里已经有答案了 可能的重复 Zend Framework 2 bin 文件夹中 Zend Tool Missing https stackoverflow com questions 10778626 zend framewor
  • 不使用 matlab 头文件和库编写 MAT 文件

    我有一些数据想要保存到 MAT 文件 版本 4 或 5 或任何版本 问题是 我想在不使用 matlab 库的情况下完成此操作 因为此代码不需要在装有 matlab 的机器上运行 我的程序使用 Java 和 C 因此这些语言中实现此目的的任何
  • openssl:减少内存使用

    再会 我们有一个用 C 编写的服务器 它接受许多 SSL TLS 连接 我们正在使用 boost asio 所以后端是openssl 建立 SSL 目前 服务器每个连接使用大约 160 200kbyte 的内存 我们希望减少这种使用量 bo
  • Android 有没有办法判断用户设备是否有实际键盘?

    我想检测当前用户的手机是否有硬件键盘或只有屏幕键盘 通过 SDK 可以实现吗 是的你可以 获取配置 http developer android com reference android content res Configuration
  • 为什么我的 Bootstrap 表会溢出包含卡?

    实际上我正在尝试在引导卡内设置一个表格 问题是表格宽度超出了该卡的范围 我会阻止它 该表是针对 1 th 和 96 td 的每个 tr 制作的 我试图将表格宽度设置为 100 并设置为每个 td 宽度的 1 但我没有成功 这是表代码 div
  • 重新分配返回 NULL

    int main struct lottery array array struct lottery malloc 3000 sizeof struct lottery int opt counter menu1 scanf d opt i