0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C程序流程设计之变量

汽车电子技术 来源:嵌入式悦翔园 作者: JamesBin 2023-02-17 14:08 次阅读

变量是对程序中数据的存储空间的抽象,变量的属性,数据类型:变量所持有的数据的性质(操作属性)

一、局部变量

在函数内定义,只在本函数内有效。main中定义的变量只在main中有效,不同函数中同名变量,占不同内存单元。形参属于局部变量。可定义在复合语句中有效的变量

局部变量可用存储类型:auto register static (默认为auto)

函数举例:

main()
{   int a,b;
    a=3;
    b=4;
    printf("main:a=%d,b=%d\\n",a,b);
    sub();
    printf("main:a=%d,b=%d\\n",a,b);
}
sub()
{   int a,b;
    a=6;
    b=7;
    printf("sub:a=%d,b=%d\\n",a,b);
}
运行结果:
main:a=3,b=4
sub:a=6,b=7
main:a=3,b=4

二、全局变量

在函数外定义,可为本文件所有函数共用,从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件。

外部变量说明:extern    数据类型    变量表;
外部变量定义与外部变量说明不同;
若外部变量与局部变量同名,则外部变量被屏蔽
外部变量可用存储类型:缺省  或  static

应尽量少使用全局变量,因为:

Y全局变量在程序全部执行过程中占用存储单元Y降低了函数的通用性、可靠性,可移植性Y降低程序清晰性,容易出错。

图片

float   max,min;
float  average(float   array[],  int  n)
{   int i;   float  sum=array[0];
    max=min=array[0];
    for(i=1;iif(array[i]>max)  max=array[i];
         else if(array[i]array[i];
         sum+=array[i];
    }
    return(sum/n);
}
main()
{   int i;   float ave,score[10];
    /*Input  */ 
    ave=average(score,10);
    printf("max=%6.2f\\nmin=%6.2f\\n
             average=%6.2f\\n",max,min,ave);
}

图片

  • 局部变量默认为auto型uregister型变量个数受限,且不能为long, double, float型
  • 局部static变量具有全局寿命和局部可见性
  • 局部static变量具有可继承性
  • extern不是变量定义,可扩展外部变量作用域
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79543
  • 变量
    +关注

    关注

    0

    文章

    595

    浏览量

    28112
  • 存储空间
    +关注

    关注

    0

    文章

    47

    浏览量

    10494
收藏 人收藏

    评论

    相关推荐

    C程序变量与汇编程序变量的共用

    C程序变量与汇编程序变量的共用为了使程序更易于接口和维护,可以在汇编
    发表于 07-16 14:18

    跟着狄泰唐老师学C语言进阶教程的笔记之变量的属性

    extern "C"{int f(int a, int b){ return a + b;}}7.小结auto 变量存储在程序的栈中,默认属性static 变量存储在
    发表于 05-28 10:40

    嵌入式C语言之变量与常量详解

      目前,很多的C语言教材都是针对通用的计算机编程,创客学院嵌入式开发培训讲师针对嵌入式软件的开发特点。讲解嵌入式C语言在各种项目中要用到的知识点。  浅谈嵌入式C语言之变量与常量详解
    发表于 07-05 09:51

    Automation Studio 的基础之变量定义说明

    计算机高级语言的编程中,都比较注重这一点。你是在一个团队中工作,所以请考虑到你的同事,他们可能不会喜欢凌乱的变量定义与程序编写风格。所以至少有一个约定的规则。我们要对创建的代码负责。做好这件事,然后
    发表于 07-02 06:01

    嵌入式C语言之变量与常量简析

      如何学习编程c++语言?粤嵌来讲解嵌入式C语言在各种项目中要用到的知识点,尤其是嵌入式C语言之变量与常量的内容:  1、变量类型和表示方
    发表于 12-15 06:27

    C/Modbus程序流程描述

    与Tx9.04uC/Modbus-M,RTU Rx与Tx10.00首字母缩写、缩写和助记符​​​​​​​9.00uC/Modbus程序流程本节描述了由Modbus通道接收和响应的消息所采取的途径。每个通道包含4个缓存区以及用于管理这些缓存区的
    发表于 02-18 06:15

    高效的C编程之变量类型

    数据 ARM指令集中,无论是数据处理指令还是数据加载/存储指令,处理的数据类型不同,指令的执行效率是不一样的。本章将详细讨论,如何在程序中为变量分配
    发表于 10-17 16:50 3次下载
    高效的C编程<b class='flag-5'>之变量</b>类型

    你知道C之变量初始化的重要性?

    C之变量初始化的重要性
    发表于 05-15 16:46 779次阅读
    你知道C<b class='flag-5'>之变量</b>初始化的重要性?

    python教程之变量和简单数据类型

    本文档的主要内容详细介绍的是python教程之变量和简单数据类型。
    发表于 04-26 08:00 7次下载
    python教程<b class='flag-5'>之变量</b>和简单数据类型

    什么是PLC变量

    什么是变量变量是用于程序的,可以有不同值的变量。 根据应用范围,变量可分为以下几类 局部变量
    的头像 发表于 10-11 11:53 1.6w次阅读
    什么是PLC<b class='flag-5'>变量</b>

    西门子PLC变量表中定义变量

    什么是变量变量是用于程序的,可以有不同值的变量。  根据应用范围,变量可分为以下几类 ●  局部变量
    的头像 发表于 12-23 16:25 1.8w次阅读
    西门子PLC<b class='flag-5'>变量</b>表中定义<b class='flag-5'>变量</b>

    Windows编程之变量和可变性综述

    Windows编程之变量和可变性综述
    发表于 08-24 14:22 3次下载

    Windows编程之变量和常量差异综述

    Windows编程之变量和常量差异综述
    发表于 08-24 14:50 8次下载

    Windows编程之变量与可变性详解

    Windows编程之变量与可变性详解
    发表于 08-24 14:52 8次下载

    读取机器人程序中的变量

    其中包含引用解释器的进程指针的数据. 变量包含接下来将在解释器中执行的块的数据。 根据特定的解释器,访问数据的方式如下: 读取机器人程序中的变量是指机器人在解释器中的状态。 在提交程序
    的头像 发表于 05-29 10:02 671次阅读
    读取机器人<b class='flag-5'>程序</b>中的<b class='flag-5'>变量</b>