将带有typedef的struct数组传递给函数
发布时间:2020-12-16 03:35:41 所属栏目:百科 来源:网络整理
导读:我需要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},
我需要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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – Rails控制器中的持久参数
- MacOS的菜单状态栏App添加饼型进度
- c – “#define new DEBUG_NEW”和“#undef THIS_FILE”等是
- Flash AS 2.0右键菜单问题
- ajax等待效果
- ruby-on-rails-3 – 带RABL的Rails 3 API
- Jquery ajax请求导出Excel表格的实现代码
- ruby-on-rails – 设计多种模型和多种登录表单
- c# – CallbackOnCollectedDelegate在globalKeyboardHook被
- plsql developer 配置监听(不安装oracle客户端)