把一个结构体作为函数参数,此参数声明为什么类型呢?

2024-12-26 14:06:15
推荐回答(3个)
回答1:

自然是声明为该结构体类型了

比如定义一个结构体如下:

struct structA
{
};

则该结构体作为函数参数时,使用struct structA paramName声明该结构体参数,其中paramName为参数名。

若声明的结构体如下:

typedef struct structA
{
}STRUCTA;

则作为函数参数时,可以直接使用STRUCTA paramName声明该结构体参数,其中paramName为参数名。

回答2:

private void funcA( structA a )
private void funcB( structB b )
private void funcC( structC c )
……

不同类型的结构为什么要用一个函数来处理?你这个思路就不合理呀。如果这几个结构里有相同的字段,完全可以按这些字段作为函数的参数。如果字段过多,建议还是用上面不同函数处理不同结构的数据。

再或者,如果这几个结构大同小异,那么就把结构定义得冗余一点,把四个结构合并成一个结构。

如果你一定要做四个结构,考虑unsafe方式使用指针吧,C#可是不建议用指针的。

回答3:

Object