(struct)结构体变量作为函数参数调用的方法小结
(struct)结构体变量作为函数参数调用的方法小结
https://blog.csdn.net/tham_/article/details/45370607
结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析
struct stud
{long int num;float score;
};
/结构体变量作为函数的参数,修改之后的成员值不能返回到主调函数/
void funvr(struct stud t)
{t.num=2000101;t.score=71.0;
}
/结构体数组作为函数的参数,修改后的元素的成员值能返回到主调函数/
void funar(struct stud t[])
//void funar(struct stud &t)
{t[0].num=3000101; /*注意结构体数组元素的成员的引用形式*/t[0].score=81.0;t[1].num=3000102;t[1].score=82.0;
}
/结构体指针变量作为函数的参数,修改后的结构体成员的值能返回到主调函数/
void funpr(struct stud *t)
{t->num=4000101; /*注意通过结构体指针变量引用成员的具体形式*/(*t).score=92.0;
}
/在主函数中分别调用上述函数修改成员值,再验证结果的正确性/\
#include<stdio.h>struct stud
{long int num;float score;
};void funvr(struct stud t)
{t.num=2000101;t.score=71.0;
}void funar(struct stud t[])
//void funar(struct stud &t)
{t[0].num=3000101; /*注意结构体数组元素的成员的引用形式*/t[0].score=81.0;t[1].num=3000102;t[1].score=82.0;
}void funpr(struct stud *t)
{t->num=4000101; /*注意通过结构体指针变量引用成员的具体形式*/(*t).score=92.0;
}void main()
{struct stud a[2]={{1000101,61.0}, {1000102,62.0}};struct stud b=a[0],*p;printf("old b: b.num:%ld\tb.score:%f\n",b.num,b.score);/*显示结构体变量b的成员的原有值*/funvr(b);/*验证第一种情况,观察并分析结果,看结构体变量作为函数参数时,形参结构体变量成员的值的改变能影响实参结构体变量的成员的值,以下为输出调用函数funvr(b)之后的结果值*/printf("call funvr() new b: b.num:%ld\tb.score:%f\n ",b.num,b.score);funpr(&b); /*将结构体变量的指针对作为函数的参数*/printf("call funpr() new b: b.num:%ld\tb.score:%f\n ",b.num,b.score);/*输出结构体数组a元素的原来的成员值*/printf("old a[0]:a[0].num:%ld\ta[0].score:%f\n ",a[0].num,a[0].score);printf("old a[1]:a[1].num:%ld\ta[1].score:%f\n ",a[1].num,a[1].score);/*将结构体数组a作为函数的参数,然后再输出其元素的成员的值,已经被修改了*/funar(a);printf(" new a[0]:a[0].num:%ld\ta[0].score:%f\n ",a[0].num,a[0].score);printf("new a[1]:a[1].num:%ld\ta[1].score:%f\n ",a[1].num,a[1].score);}
(struct)结构体变量作为函数参数调用的方法小结相关推荐
- c语言结构体作为形参是否加struct_(struct)结构体变量作为函数参数调用的方法小结...
结构体变量作为函数参数传递的3种方法将一个结构体变量中的数据传递给另一个函数,有下列3种方法:用结构体变量名作参数.一般较少用这种方法.用指向结构体变量 结构体变量.结构指针变量.结构数组作为函数的参 ...
- c语言学习笔记【结构体02】结构体指针变量与结构体变量的函数参数,C语言学习笔记结构体02结构体指针变量与结构体变量的函数参数.docx...
C 语言学习笔记[结构体02]结构体指针变量与结构体变量 的函数参数 C 语言学习笔记之结构体指针变量一提指针,那可 是 C 语言的核心了,有多少学子曾拜倒在指针的脚下.单纯的说指针,其实并不难,但是 ...
- 结构体和结构体指针作为函数参数的区别
0·说明 文章里的观点来自网络的总结,程序经过自己的验证,在VC6.0中可正常执行. 1.测试程序 /* ##结构体指针与结构体变量用作函数参数区别:##结构体指针作为函数参数时,调用时传递的是指向一 ...
- C语言数组、结构体、结构体数组作为函数参数
数组作为函数参数 如果想把一个数组名参数传递给函数,正确的函数形参应该是怎样的?它是应该声明为一个指针还是一个数组? 调用函数时实际传递的是一个指针,所以函数的形参实际上是一个指针,但为了使程序员新手 ...
- 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )
文章目录 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 在上一篇博客 [C 语言]结构体 ( 结构体 数 ...
- 【C 语言】结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )
文章目录 一.结构体作为函数参数 二.结构体指针作为函数参数 三.完整代码示例 一.结构体作为函数参数 结构体变量 作为函数形参 , 在函数中 , 只能访问 该函数形参 , 无法修改 结构体内存 的值 ...
- 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 栈内存创建 )
文章目录 一.结构体 数组 作为函数参数 ( 数组 在 栈内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 栈内存创建 ) 声明结构体类型 : 定义 结构体 数据类型 , ...
- struct结构体扩展-成员函数
struct结构体扩展-成员函数 在C++中,允许在结构中定义函数,该函数被称为成员函数,描述形式如下: struct 结构名{数据成员成员函数 } 例题描述: 输入n个学生的信息,每个学生信息包括姓 ...
- c语言 结构体指针做函数参数
demo:修改某个学生的成绩 不利用指针直接在主函数内修改学生成绩的代码: #include <stdio.h> #include <string.h> #define N 5 ...
- C++_结构体指针_嵌套结构体_结构体做为函数参数_结构体值传递和指针传递---C++语言工作笔记026
然后我们来看结构体指针. 可以看到我们先去定义一个结构体 然后我们在main函数中,去声明一个结构体 s 然后我们定义一个指针 int *p = &s; 指向这个结构体变量. 这里要注意
最新文章
- 几个cvebase_ifo基础信息融合在一起
- Zabbix3的离线安装
- 理解Java字符串常量池与intern()方法
- 总结之前做项目中要注意的一些书写规范
- 在Spring中使用Redis
- Nginx严格访问代理HTTP资源
- java指定sql生成xml,用Java实现可保存状态的数据库生成XML树(8)-JSP教程,Java与XML...
- [转载] ANTLR——词法分析
- win7备份工具_一键重装win7系统教程,如何重装win7系统
- sql游标 while_用SQL Server中的排名函数替换SQL While循环和游标,以提高查询性能
- Java List 的merge
- 使用原理视角看 Git
- python中的[1:]、[::-1]、X[:,m:n]和X[1,:]
- java学习(分布式架构)
- vue项目打包成app
- icom对讲机写频线定义_ICOM对讲机的常见故障和使用中的问题
- python调用百度云文字识别
- S3接口访问华为云OBS
- threejs 透视相机参数解析
- maven报错The forked VM terminated without saying properly goodbye. VM crash or System.exit called