传递结构体变量,值传递(结果不变)
传递结构体变量必须进行初始化
值传递时,访问方式为 stu.num
#include<stdio.h>
#include<string.h>
#define format "%d\n%s\n%f\n%f\n%f\n"
struct student
{
int num;
char name[20];
};
void change( struct student stu );
int main()
{
struct student stu; //定义
stu.num = 1111; //初始化
strcpy(stu.name, "wh");
change(stu); //传参 修改
printf(format, stu.num, stu.name, stu.score[0], stu.score[1],stu.score[2]); //不变
printf("\n");
return 0;
}
void change(struct student stu)
{
stu.num = 222; //注意方式
strcpy(stu.name, "whs");
}
地址传递,变化
注意:
地址传递可以不进行初始化。
访问方式为 stu->num
#include<stdio.h>
#define format "%d\n%s\n%f\n%f\n%f\n"
struct student
{
int num;
char name[20];
};
void change( struct stud

本文探讨了C语言中结构体作为参数传递的方式,包括值传递和地址传递。值传递时,需初始化结构体变量,通过.stu.num访问成员;而地址传递则无需初始化,通过.stu->num进行成员访问,这种方式会导致结构体内容变化。
最低0.47元/天 解锁文章
256

被折叠的 条评论
为什么被折叠?



