你好, 欢迎回来｡
我们还有另一个挑战给你｡
这个挑战将 再一次成为关于结构｡
它会让你熟悉 与包含指针的结构中的元素相关联｡
所以你必须分配 元素的内存｡
它也会让你熟悉
将结构声明为指针并传递结构 作为函数的指针｡
所以主要是结构和 在这个挑战中的指针｡
所以你需要写一个c程序 创建一个结构指针并将其传递给函数｡
创建名为item的结构 成员如下｡
一个项目名称, 应该 是字符指针｡
一个数量, 应该是整数｡
价格应该是浮动的, 金额应为浮动金额｡
存储在
基本上是数量乘以价格, 因为 这就是总数｡
我要你创建两个函数｡
我要你创建一个函数
将item类型的结构指针作为 参数应该是一个指针｡
我们知道函数的优点 将指针作为参数而不是常规结构, 主要
因为它们向后兼容｡
c编译器的以前版本 不适用于结构｡
而且速度也快得多 将指针传递给函数时效率更高,
因为 您不必复制所有元素,
只需复制地址即可｡
所以我们要有函数 这些函数将结构指针作为参数｡
这个阅读项目将要承担｡
此函数应执行的操作
它应该从用户那里读入产品名称､ 价格 和数量或项目名称｡
正确的内容应该是 储存在过去的结构中｡
所以你传递的是 指向要存储它的结构的指针｡
我要你再创造一个 名为打印项目函数
这也将作为参数 类型项的结构指针｡
此功能将打印出 返回参数的内容｡
所以你打算 做些打印｡
这将是非常基本的｡
在main函数中,
您要 声明一个项基本上是指针结构的项 或者声明一个项和结构的指针,
因为这样您就可以 可以将项目的地址分配给项目的点｡
然后你还需要分配 项名称指针的内存｡
请记住, 物品名称 元素是字符指向的, 这意味着您
必须为它分配内存｡
如果是个角色 数组, 您就不必这样做｡
但是记住当你有一个元素 作为字符指针,
它所做的一切就是为实际的 地址, 即该指针的值｡
它不会创造记忆 它所指向的东西｡
所以如果你给一个常量赋值 它可能在内存中的任何地方｡
所以你要分配 结构内部项目名称元素内存｡
项指针应该是 传递到阅读打印项目函数｡
因此, 这个挑战将帮助 您要学习的是了解指针如何将它们用作
结构,
以及如何传递它们, 您需要进行一些练习 同时执行一些malloc｡
然后别忘了, 无论何时
执行malloc时, 必须执行free, 因此请确保 将其添加到您程序中｡
祝你好运｡
我会提供解决方案 在下一节课中｡
至于错位的大小, 你可以 只需选择任意大小（如30个字符或类似大小）｡
你不必读它｡
如果你有任何问题, 请告诉我｡ -谢谢—谢谢