内存节省机制

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

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

使用条件语句嵌套比较

  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include<stdio.h>
  4.  
  5. void main()
  6. {
  7. int a;
  8. int b;
  9. int c;
  10. int min;
  11. scanf("%d%d%d", &a, &b, &c);
  12. if (a > b)
  13. {
  14. if (b > c)
  15. {
  16. min = c;
  17. }
  18. else
  19. {
  20. min = b;
  21. }
  22. }
  23. else
  24. {
  25. min = a;
  26. }
  27. printf("%d",min);
  28. }

  使用三目运算符

  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include<stdio.h>
  4. int minSize();
  5. void main()
  6. {
  7. int a = minSize();
  8. printf("%d",a);
  9. }
  10.  
  11. int minSize()
  12. {
  13. int a;
  14. int b;
  15. int c;
  16. scanf("%d%d%d", &a, &b, &c);
  17. return a < b ? (a < c ? a : c) : (b < c ? b : c);
  18.  
  19. }

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

 

版权声明:本文为superdhj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/superdhj/p/13189900.html