当前位置:网站首页>结构体传参-C语言
结构体传参-C语言
2022-08-04 05:31:00 【crazy__xieyi】
struct S
{
int data[1000];
int num;
};
struct S s = { {1,2,3,4}, 1000};//结构体传参
void print1(struct S s)
{
printf("%d\n", s.num);
}
//结构体地址传参
void print2(struct S* ps)
{
printf("%d\n", ps->num);
}
int main()
{
print1(s); //传结构体 传值
print2(&s); //传地址 传址
return 0;
}
上面的print1 和print2 函数哪个好些?
函数传参的时候,参数是需要压栈,会有时间和空间上的系统开销。
如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。
所以,结构体传参的时候,要传结构体的地址。
边栏推荐
猜你喜欢

tmux概念和使用

Code to celebrate the Dragon Boat Festival - Zongzi, your heart

打金?工作室?账号被封?游戏灰黑产离我们有多近

【Copy攻城狮日志】“一分钟”跑通MindSpore的LeNet模型

强化学习中,Q-Learning与Sarsa的差别有多大?

集合---ArrayList的底层

文件编辑器

LeetCode_Nov_3rd_Week

How to get started with MOOSE platform - an example of how to run the official tutorial

在AWS-EC2中安装Minikube集群
随机推荐
FAREWARE ADDRESS
Cut the hit pro subtitles export of essays
Amazon Cloud Technology Build On-Amazon Neptune's Knowledge Graph-Based Recommendation Model Building Experience
第三章 标准单元库(上)
浅谈外挂常识和如何防御
An abstract class, internal classes and interfaces
jdbc:mysql://localhost:3306/student?serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8时报错
腾讯、网易纷纷出手,火到出圈的元宇宙到底是个啥?
LeetCode_Nov_2nd_Week
AWS使用EC2降低DeepRacer的训练成本:DeepRacer-for-cloud的实践操作
Deep learning, "grain and grass" first--On the way to obtain data sets
关于DG(域泛化)领域的PCL方法的代码实例
arm交叉编译
tmux概念和使用
集合--LinkedList
Detailed steps to install MySQL
深度学习,“粮草”先行--浅谈数据集获取之道
AWS uses EC2 to reduce the training cost of DeepRacer: DeepRacer-for-cloud practical operation
arm学习-1-开发板
Stream API