【发布时间】:2016-12-15 11:36:45
【问题描述】:
我有一个这样声明的结构“注册”:
typedef struct {
int TypeID;
unsigned char InstrumentType[128];
unsigned char RegTag[128];
unsigned char Protocol[128];
int RegNum;
unsigned char RW[128];
unsigned char RegisterType[128];
unsigned char Signed[128];
unsigned char Inverted[128];
unsigned char DataType[128];
int Counts;
} Register;
我有一个名为“Reg[9]”的寄存器数组,并希望创建一个名为“TransferValues”的函数,为数组中每个元素的结构中的所有字段分配值。更新值后,它们将在main() 中单独输出。如何将数组传入和传出这个函数?
【问题讨论】:
-
void yourFunc ( Register *param1) ....int main(void) { Register Reg[9]; yourFunc(Reg);} -
一旦返回 main 会保留它的新值吗?我不需要在“yourFunc”末尾返回任何内容?
-
是的,函数返回时指针指向的数据不会消失。
标签: c arrays pointers structure