62库

您现在的位置是:首页 > 前端开发 > Html/Css > 正文

Html/Css

c语言以结构体为函数参量,c语言结构体内定义函数

Admin2023-11-11Html/Css65

C语言中 结构体作为函数参数

1.可以把结构体作为参数啊,

2.不去取地址的意思,是引用的意思,函数执行时修改L的值,就直接的修改了实参的值,相当于地址传递了。

3.真正调用的时,如下:

SqList tempStruct;

InitList_Sq(tempStruct)

这样就可以了。

呵呵

有关C语言中结构体变量做函数参数的问题

其实,结构名就是一个变量,由于你的形参和你的实参取名是一样的。而且对于形参肯定会变

实参不会变。所以,你中间的maxA变量,其实是子函数的形参变了。但是你的实参没变

因此结果没变

改,对于子函数中,你在void Max_Element_Find(struct Max_Element* maxA,double *A,int n)

Max_Element_Find(maxA,A,n);这样就好了

c语言中如何将结构体作为子函数的参数

j假如函数形式如下

void fun(struct example t)

{

}

可以在main函数中调用fun(eg[1]);

C语言怎么用结构体变量的成员做为函数参数,有一个例子我才能明白

#include stdio.h

typedef struct student

{

    char sno[32];

    char sname[32];

}STU;

void PrintName(char *name)

{

    printf("sname : %s\n", name);

}

int main()

{

    STU ss = {"031202523", "aab"};

    PrintName(ss.sname);

    

    return 0;

}

c语言中结构体变量做函数参数的问题

你有几处错误,以下是修改后的代码

#includestdio.h

#define M 3

struct date

{

int num;

char name[10];

char sex;

int age;

float score[5];

}student[M];

void f(struct date student[]);

void main()

{

int i,j;

printf("请按顺序输入学生数据\n");

for(i=0;iM;i++)

{

printf("姓名:");

scanf("%s",student[i].name);

printf("学号:");

scanf("%d",student[i].num);

printf("性别:");

scanf("%c%c",student[i].sex);

printf("年龄:");

scanf("%d",student[i].age);

printf("语文成绩:");

scanf("%f",student[i].score[0]);

printf("数学成绩:");

scanf("%f",student[i].score[1]);

printf("英语成绩:");

scanf("%f",student[i].score[2]);

if(i!=2)

printf("请输入下一个学生的数据\n");

}

/*for(i=0;iM;i++)*/

f(student);

for(i=0;iM;i++)

printf("第%d位同学的总分为%f,平均分为%f\n",i+1,student[i].score[3],student[i].score);

}

void f(struct date student[])

{

int i,j;

for(i=0;iM;i++)

{

for(j=0;j3;j++)

{

student[i].score[3]+=student[i].score[j];

student[i].score[4]=student[i].score[3]/3;

}

}

}

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~