当前位置:网站首页>结构体传参-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 函数哪个好些?
函数传参的时候,参数是需要压栈,会有时间和空间上的系统开销。
如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。
所以,结构体传参的时候,要传结构体的地址。
边栏推荐
猜你喜欢

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

语音驱动嘴型与面部动画生成的现状和趋势

Amazon Cloud Technology Build On 2022 - AIot Season 2 IoT Special Experiment Experience

Amazon Cloud Technology Build On-Amazon Neptune's Knowledge Graph-Based Recommendation Model Building Experience

file permission management ugo

Pytest常用插件

target has libraries with conflicting names: libcrypto.a and libssl.a.

Question 1000: Input two integers a and b, calculate the sum of a+b, this question is multiple sets of test data

No matching function for call to ‘RCTBridgeModuleNameForClass‘

CSDN大礼包--高校圆桌派大礼包
随机推荐
LeetCode_Nov_4th_Week
剪映专业版字幕导出随笔
[Deep Learning Diary] Day 1: Hello world, Hello CNN MNIST
MNIST handwritten digit recognition, sorted by from two to ten
tensorRT5.15 使用中的注意点
[English learning][sentence] good sentence
多层LSTM
[开发杂项][调试]debug into kernel
lstm pipeline 过程理解(输入输出)
如何用Pygame制作简单的贪吃蛇游戏
深度学习理论 —— 初始化、参数调节
浅谈外挂常识和如何防御
Detailed steps to install MySQL
第三章 标准单元库(下)
Design and implementation of legal aid platform based on asp.net (with project link)
抽象类、内部类和接口
深度确定性策略梯度(DDPG)
MNIST手写数字识别 —— ResNet-经典卷积神经网络
详解近端策略优化
[开发杂项][编辑器][代码阅读]ctags&vim