C语言结构体作为函数参数的用法
struct结构体函数参数
C语言的结构体是自定义的数据类型,如同int、double、数组等类似,都可以作为函数的参数进行传递。与其它数据类型一样的是,函数在定义的阶段,声明参数部分的时候,如果是结构体参数的话,也需要声明其类型。函数声明结构体struct参数的语法如下:
type functionName( struct structName varName)
提示:在声明结构体参数的阶段(函数未定义,只是声明),varName是可选的,跟其它类型的参数一样!
函数结构体参数实例代码
如下实例,先声明了一个struct结构体,然后定义了一个声明了结构体参数的函数,之后,在主函数main内部实例化了一个结构体,并用作参数传递给之前定义的函数,实例代码如下:
#include <stdio.h>
#include <string.h>
// 定义结构体Student
struct Student{
char name[50];
int score;
};
// 定义一个普通的函数
void say(struct Student a){
printf("我叫%s\n",a.name);
printf("这次考试的分数为%d\n",a.score);
}
int main() {
// 实例化Student结构体
struct Student xiaoming;
strcpy(xiaoming.name, "xiaoming");
xiaoming.score = 93;
// 通过"."访问结构体内的函数
say(xiaoming);
return 0;
}
代码编译运行,得到输出:
我叫xiaoming
这次考试的分数为93
免责声明:内容仅供参考,不保证正确性!