当前位置: 首页 > article >正文

【C 语言】内存节省机制

编写代码实质是通过指令对计算机内存进行操作,计算机的硬件设备往往十分有限,尤其是内存。如何使有限的存储空间利用效率达到最大,成为了代码优化首先要考虑的事情。

比如,输入三个数比较大小并输出最小值。下面写段代码:

使用条件语句嵌套比较

#define _CRT_SECURE_NO_WARNINGS
 
#include<stdio.h>
 
void main()
{
    int a;
    int b;
    int c;
    int min;
    scanf("%d%d%d", &a, &b, &c);
    if (a > b)
    {
        if (b > c)
        {
            min = c;
        }
        else
        {
            min = b;
        }
    }
    else
    {
        min = a;
    }
     
    printf("%d",min);
}

使用三目运算符

#define _CRT_SECURE_NO_WARNINGS
 
#include<stdio.h>
int minSize();
void main()
{
    int a = minSize();
    printf("%d",a);
}
 
int minSize()
{
    int a;
    int b;
    int c;
    scanf("%d%d%d", &a, &b, &c);
    return a < b ? (a < c ? a : c) : (b < c ? b : c);
 
}

比较两种代码风格,使用循环结构比较大小是一种较为基础的方法,在栈区开辟了一个名为min的int空间用于暂存中途比较结果,这样就比第二种使用三目比较,多消耗了内存。


http://www.kler.cn/a/451939.html

相关文章:

  • 【求职面试】驾照的种类
  • HTML-CSS(day01)
  • Java 中反射的高级用法:窥探 Java 世界的魔法之门
  • 从 GitLab.com 到 JihuLab.com 的迁移指南
  • 100V宽压输入反激隔离电源,适用于N道沟MOSFET或GaN或5V栅极驱动器,无需光耦合
  • clickhouse复现修复 结构需要清理 错误 structure need clean
  • 深入理解.NET内存回收机制
  • 【论文复现】进行不同视角图像的拼接
  • python如何求欧几里得
  • VMware虚拟机中CentOS系统/dev/mapper/centos-home分区扩容指南
  • 稳定的碰一碰发视频、碰一碰矩阵源码技术开发,支持OEM
  • 2024年12月25日Github流行趋势
  • 【卷积神经网络】常用评价指标总结
  • 使用 C# 代码计算数学表达式
  • 代码随想录算法日记day16 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
  • xilinx 芯片使用vivado导出pindelay文件——FPGA学习笔记24
  • 【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
  • 《系统动力学模型构建与Vensim仿真》01系统动力学概述与行为模式
  • 基于Spring Boot的高校请假管理系统
  • VS2022 无法使用GitHub账户登录/无法使用copilot 解决方案
  • 设计模式之外观模式:从电脑组装到系统架构的简化之道
  • 软考:系统架构设计师教材笔记(持续更新中)
  • 记录一个SVR学习
  • 【全开源】Java多语言tiktok跨境商城TikTok内嵌商城送搭建教程
  • uniApp打包H5发布到服务器(docker)
  • 3.3.2.5 队列之 ringBuffer设计