网站建设资讯

NEWS

网站建设资讯

c语言函数传递结构体 C语言结构体的使用

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

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

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站制作、茂南网络推广、成都微信小程序、茂南网络营销、茂南企业策划、茂南品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供茂南建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

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

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

SqList

tempStruct;

InitList_Sq(tempStruct)

这样就可以了。

呵呵

C 语言关于结构体做参数传递?

双指针

C语言结构体传参

小-黯

原创

关注

7点赞·2315人阅读

目录

C语言结构体传参

1. 普通传参

1.1 测试代码

1.2 测试结果

1.3 结果分析

2. 单指针传参

2.1 修改结构体数据

2.1.1 测试代码

2.1.2 测试结果

2.1.3 结果分析

2.2 修改结构体地址

2.2.1 测试代码

2.2.2 测试结果

2.2.3 结果分析

3. 双指针传参

3.1 测试代码

3.2 测试结果

3.2 结果分析

C语言结构体传参

结构体传参包括三种传参方式

普通传参:函数接收到结构体参数后,会复制一份原来的结构体作为形参供函数使用,而函数内的任何操作都是对拷贝结构体的修改,不会影响到原本的结构体变化。

单指针传参:函数接收的是一个结构体的地址,该指针指向的是结构体起始地址,也就相当于传入了结构体内所有变量的地址,函数接收到该结构体指针后,我们就可以根据地址访问结构体中每个变量的真实数据,在函数内对结构体内数据的操作,都会影响到原本结构体内数据的变化

双指针传参:函数接收的是结构体指针变量的地址,因为一级指针代表的是结构体的地址,在函数中能够操作结构体内的数据,则二级指针指向的是结构体的地址,则同理我们可以根据二级指针访问修改结构体的地址

即通过一级指针,对结构体内数据的操作会影响到原本结构体内数据的变化

而通过二级指针,对结构体地址的操作会影响到原本结构体地址的变化,例如为结构体分配空间

C语言函数怎么传结构体指针

#include stdio.h

#include stdlib.h

#define LINE_MAX 80

struct body{

char data[100]; //要定义成数组才可以,不然,还要去分配内存

int num;

};

void create(struct body *bd); //结构体定义后,才能使用结构体类型,所以,移动到定义之后

int main(int argc, char *argv[]) {

int choose;

struct body *bd;

bd = (struct body*)malloc(sizeof(struct body));

while(1)

{

printf("        *******************欢迎来到文章编辑系统********************\n");

printf("1.   创建新文本\n");

printf("2.   统计文本\n");

printf("5.   退出系统\n");

printf("请选择你需要的功能的序号:");

scanf("%d",choose);

switch(choose)

{

case 1:

printf("创建新文本\n");

create(bd);

continue;

case 2:

printf("统计文本\n");

continue;

case 5:

printf("谢谢您的使用!\n");

break;

default:

printf("请正确输入!\n");

continue;

}

if(choose == 5)

break;

}

return 0;

}

void create(struct body *bd)

{

printf("编辑文本,Enter键保存\n");

scanf("%s",bd-data);//结构体指针引用成员用-,  同时,格式串应该是%s

printf("您输入的文本是:%s\n",bd-data); //同上

}


名称栏目:c语言函数传递结构体 C语言结构体的使用
浏览路径:http://njwzjz.com/article/docgeei.html