我在主函数中定义用结构体定义的变量,怎样传参到自己定义的函数中,还有就是什么叫结构体的不完全类型?谢谢
typedef struct studentMessage
{
int stuCount;//学号
char name[12];//姓名
int grade;//年级
int classNum;//班级
char phoneNum[12];//手机号码
char address[20];//住址
//成绩
int Marktotal;//总成绩
float average;//平均分
int MarkCh;//语文
int MarkMath;//数学
int MarkEn;//英语
int rankNum;//排名
}stuM;
struct stuM; //这是我的结构体
int main(void)
{
stuM student[10];
}
在自己写的函数中的形参列表搞一个形参不就行了。
比如:
void function(stuM &studentMessageData)
{
....
}
然后调用的时候
function(这里填上你在main函数中定义的结构体变量);
补充:结构体传参(包括成员变量传参),默认是按值传递,如果要按引用,必须前面加&
结构体的不完全类型:这个东西我看过2本讲C语言的语法的书,没看到过。。。
传地址比较好,不然会造成拷贝,而且如果结构体中有动态申请的存储,还要自行控制拷贝动作防止只是发生浅拷贝。不完全类型:
struct s {struct t *pt;}; 这里的t是不完全类型,不知道你说的结构体的不完全类型是否是这个意思。