分配内存的嵌套结构

2024-04-03

gcc c89

我在这一行得到堆栈转储:

strcpy(comp->persons->name, "Joe");

但是,我已经分配了内存,所以不确定为什么我会得到它。我在这里错过了什么吗?

非常感谢您的任何建议,

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct company
{
    struct emp *persons;
    char company_name[32];
};

struct emp
{
    char name[32];
    char position[32];
};

int main(void)
{    
    struct company *comp;

    comp = malloc(sizeof *comp);
    memset(comp, 0, sizeof *comp);

    strcpy(comp->persons->name, "Joe");
    strcpy(comp->persons->position, "Software Engineer");

    printf("Company = [ %s ]\n", comp->company_name);
    printf("Name    ==== [ %s ]\n", comp->persons->name);
    printf("Postion ==== [ %s ]\n", comp->persons->position);

    free(comp);

    return 0;
}

您需要分配内存persons:

comp->persons = malloc( sizeof( struct emp ) * NumberOfPersonsYouExpectToHave );

并且不要忘记稍后释放该内存。

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

分配内存的嵌套结构 的相关文章

  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • C++ 复制初始化和直接初始化,奇怪的情况

    在继续阅读本文之前 请阅读在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a difference in c between copy i
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问

随机推荐

  • gdb print :执行的每个语句的行号

    我有一个确定性的 halting 程序与no IO 我想要使用 gdb 运行并让它打印执行的每个 c 语句 例如文件名 行号
  • 一个列表中多个对象类型的 Xml 序列化

    我有一个对象 其中包含抽象 aninamls 列表 IE var animals new Animals new Bird TailFeatherColour Blue new Cat Colour Brown 使用 xmlserializ
  • 二进制 * 的操作数无效(有“ab {aka struct a}”和“ab * {aka struct a *}”)

    我编写了一个程序来交换数组中的两个结构 我的编码如下 include
  • Gatsby 客户端重定向到外部 URL 在 Netlify 上不起作用

    我需要从 Netlify 上托管的 Gatsby 站点上的页面执行简单的客户端重定向到外部 URL 它在本地工作正常 但部署后似乎没有任何作用 Gatsby 的本机 createRedirect 功能似乎也存在一个错误 因此它不允许重定向到
  • 正确中止或取消 PostAsync

    使用 HttpClient 时是否有保证取消帖子的方法 我目前有一个调用 do PostAsync 的方法 我试图使用取消令牌取消该调用 但它似乎实际上并没有中止 停止操作 我仍然可以看到我上传的图像已正确发布 我在这里做错了什么 或者 H
  • 用户警告:布尔系列键将被重新索引以匹配 DataFrame 索引

    使用此语句时 会在单个语句中显示多个警告 Internaldfdeny pd DataFrame Count Internaldf Internaldf Status deny Internaldf SrcIP NA Internaldf
  • 如何在打印机中打印图像文件

    我编写了一个简单的程序来在 JSF 中打印图像 我有一张图像 sampleImage png 我已经将我的电脑连接到打印机 我手动打开图像并选择打印选项 然后我从打印机获得图像 现在我想使用 javascript 打印图像 文件名 imag
  • 配置文件实体框架

    我有以下示例代码 Context context new Context Repository repository new Repository context Post post repository First
  • Go中的函数和方法有什么区别?

    我正在尝试开始使用 Go 和文档 http golang org非常好 我在文档中没有找到函数和方法之间的区别 据我目前的理解 函数是 全局 的 这意味着我不必导入包来使用函数 它们总是存在的 方法绑定到包 它是否正确 据我目前的理解 函数
  • 需要 Spark sql 中 SQL IsNumeric 函数的等效功能

    就像我们有 SQL ISNUMERIC 函数来验证表达式是否为数字一样 我需要 Spark SQL 中是否有任何等效的函数 我试图找到它但无法找到它 请问有人可以提供帮助或建议吗 尝试使用spark udf 这种方法将帮助您克隆任何函数 s
  • 在 javascript 中将变量传递给异步函数(promise)

    我有以下代码循环运行 var index fileNames x lastIndexOf 1 var currentImageName fileNames x substr index if currentImageName indexOf
  • 如何在vim中刷新标签列表?

    当我对文件进行更改 例如添加功能 时 如何使标签列表在保存更改后自动更新其窗口中的 标签列表 我调整了我的设置C 代码补全 vim 提示 http vim wikia com wiki C 2B 2B code completion map
  • 为什么 firePropertyChange(String propertyName, Object oldValue, Object newValue) 受保护而不是公开?

    嗯 问题是我正在研究一个IDateEditor接口实现来自日历 http www toedter com en jcalendar 图书馆 我注意到Component firePropertyChange 字符串属性名称 对象旧值 对象新值
  • 来自设备的 dSYM 文件

    我的应用程序崩溃了 两天来我找不到重现崩溃的确切方法 所以 我想解码 dSYM 文件 看看有什么问题 希望有帮助 如何从设备获取 dSYM 文件 您可能需要从 Xcode 构建产品获取 dSYM 打开 Xcode 管理器 在 Xcode 中
  • Boost Spirit x3 - 惰性解析器

    有最新的吗boost spirit x3实施lazy解析器 我发现它在文档 https www boost org doc libs develop libs spirit doc x3 html spirit x3 quick refer
  • 对于移动 Safari 来说 AJAX 响应太大?

    我在调试移动 Safari 的 Web 应用程序时遇到了一些问题 该 Web 应用程序是相当复杂的服务器端模拟工具的前端 该网络应用程序的工作原理概述如下 用户将看到一个屏幕 他们可以在其中填写要执行的模拟的值 用户单击 运行模拟 此时将对
  • 如何获取 Nodejs 中显示的 console.log 行号?

    有一个旧的应用程序 它使用以下命令打印出大量消息console log 但我就是找不到哪些文件和行console log叫做 有没有办法连接到应用程序并显示文件名和行号 每个调用都有完整的堆栈跟踪有点吵 我刚刚改进了 noppa 的解决方案
  • 如何使用php传递和访问数组变量

    我有一个数组 param 在给出 Print r 时 输出如下 Array pattern gt status gt Array 0 gt 0 1 gt 4 我必须将状态值传递给一个函数 例如 function value action p
  • 如何使用ggplot2从geom_tile(热图)中删除白线

    我无法去除热图中图块之间的白线 下面是我的代码和图片 以前有人遇到过这种情况吗 t lt ggplot Drug heatmap df final aes x reorder Drug Total Deaths y Start Date f
  • 分配内存的嵌套结构

    gcc c89 我在这一行得到堆栈转储 strcpy comp gt persons gt name Joe 但是 我已经分配了内存 所以不确定为什么我会得到它 我在这里错过了什么吗 非常感谢您的任何建议 include