c语言结构体作为函数形参 C语言函数的形参

C语言:结构体成员能够做形参吗?

这样写是不可以的。

成都创新互联作为成都网站建设公司,专注网站建设公司、网站设计,有关成都企业网站定制方案、改版、费用等问题,行业涉及资质代办等多个领域,已为上千家企业服务,得到了客户的尊重与认可。

应该这么声明:

void days(struct student * judget)

{

//省略

}

struct student s;

s.year = year;

s.month = month;

s.day = day;

days(s);//这么使用

但是我不明白为什么结构体的名称是student啊,这个和学生没有关系,应该起个相关的名称,如time之类的,呵呵

关于C语言结构体指针做函数形参的问题

fun函数的第二个参数之所以用指针,就是为了能把函数里面对这个参数做的改动保存下来

而你如果把*s=a[p];改成s=a[p];效果相当于,改了s的值,使其不再指向参数(函数

外部变量

m)的地址,虽然*s的值是正确的,但实际m的值则没有改变,所以在外面输出的时候,结果和预期不一致了

s=a[p];这个操作本身没有问题

C语言中,结构体作为函数参数传递,详解?

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

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

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

SqList

tempStruct;

InitList_Sq(tempStruct)

这样就可以了。

呵呵

C语言中如何以结构体变量的地址作为函数形参,以便将指向结构体变量的指针传递给它?

C语言中,所有的变量都存储在内存中,可以通过运算符获得变量的内存地址,函数调用时,只需要把普通变量前加上符号,就可以达到传递变量地址的目的。

例如:

定义一个结构体类型

struct Yearmonthday

int year, month, day;

};

定义相关函数,参数类型指定为结构体类型指针

void input(struct Yearmonthday *p1) //函数形参p1是结构体指针类型

{

printf("请输入年,月,日:");

scanf("%d,%d,%d",p1-year,p1-month,p1-day);

}

在主函数中定义一个结构体变量,调用相关函数,传递变量地址

int main()

struct Yearmonthday ymd;

input(ymd); //传递变量地址,以便带回数据

printf("date=%d/%d/%d\n", ymd.year, ymd.month, ymd.day ); //输出结果

return 0;

}


网站题目:c语言结构体作为函数形参 C语言函数的形参
浏览路径:http://csdahua.cn/article/hjdhsd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流