将带有typedef的struct数组传递给函数

将带有typedef的struct数组传递给函数,第1张

概述我需要C编程方面的帮助.我有以下情况: struct Product { int code; char *name; char *spec; int quantity; float price;};typedef struct Product products[8];products product = { {100, "Mouse", "O 我需要C编程方面的帮助.我有以下情况:
struct Product {    int code;    char *name;    char *spec;    int quantity;    float price;};typedef struct Product products[8];products product = {    {100,"Mouse","ottico",10,8.30},{101,"TastIEra","Wireless",6,15.50},{102,"Monitor","LCD",3,150.25},{103,"Webcam","USB",12,12.00},{104,"Stampante","A Inchiostro",100.00},{105,"Scanner","Alta Risoluzione",9,70.50},{106,"Router","300 Mbps",80.30},{107,"Lettore Mp3","10 GB",16,100.00}    };

请忽略上面使用的意大利语.

我想将名为“product”的结构数组传递给函数.例如,如果我想做类似的事情

product[1].name = "Computer"

但是在一个函数里面,我应该怎么做呢?我想知道如何从main()调用该函数以及如何在头文件中编写原型.

在此先感谢您的帮助.

编辑

我给你这个测试程序.这个不起作用,甚至没有主要功能调用.它只是不编译.

#include <stdio.h>#include <stdlib.h>voID test(Card *card);int main(){    struct Card {        char *type;        char *name;    };    typedef struct Card cards[2];    cards card = {{"Hi","Hi"},{"Foo","Foo"}};    return 0;}voID test(Card *card) {    printf("%s",card[1].type);}
解决方法 这里:
voID foo(struct Product *bla){    bla[1].name = "Computer";}

或使用您的类型别名

voID foo(products bla){    bla[1].name = "Computer";}

然后像这样调用函数:

foo(product);
总结

以上是内存溢出为你收集整理的将带有typedef的struct数组传递给函数全部内容,希望文章能够帮你解决将带有typedef的struct数组传递给函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存