0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

C程序流程設計之變量

汽車電子技術 ? 來源:嵌入式悅翔園 ? 作者: JamesBin ? 2023-02-17 14:08 ? 次閱讀

變量是對程序中數(shù)據(jù)的存儲空間的抽象,變量的屬性,數(shù)據(jù)類型:變量所持有的數(shù)據(jù)的性質(操作屬性)

一、局部變量

在函數(shù)內(nèi)定義,只在本函數(shù)內(nèi)有效。main中定義的變量只在main中有效,不同函數(shù)中同名變量,占不同內(nèi)存單元。形參屬于局部變量??啥x在復合語句中有效的變量

局部變量可用存儲類型:auto register static (默認為auto)

函數(shù)舉例:

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

二、全局變量

在函數(shù)外定義,可為本文件所有函數(shù)共用,從定義變量的位置開始到本源文件結束,及有extern說明的其它源文件。

外部變量說明:extern    數(shù)據(jù)類型    變量表;
外部變量定義與外部變量說明不同;
若外部變量與局部變量同名,則外部變量被屏蔽
外部變量可用存儲類型:缺省  或  static

應盡量少使用全局變量,因為:

Y全局變量在程序全部執(zhí)行過程中占用存儲單元Y降低了函數(shù)的通用性、可靠性,可移植性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型變量個數(shù)受限,且不能為long, double, float型
  • 局部static變量具有全局壽命和局部可見性
  • 局部static變量具有可繼承性
  • extern不是變量定義,可擴展外部變量作用域
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 程序
    +關注

    關注

    116

    文章

    3756

    瀏覽量

    80753
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28306
  • 存儲空間
    +關注

    關注

    0

    文章

    54

    瀏覽量

    10663
收藏 人收藏

    評論

    相關推薦

    C語言里變量的生命周期

    C語言中,變量的生命周期指的是該變量存在的時間段,理解變量的內(nèi)存釋放時機,設計程序才能少出問題。
    的頭像 發(fā)表于 07-11 09:12 ?1355次閱讀
    <b class='flag-5'>C</b>語言里<b class='flag-5'>變量</b>的生命周期

    C程序變量與匯編程序變量的共用

    C程序變量與匯編程序變量的共用為了使程序更易于接口和維護,可以在匯編
    發(fā)表于 07-16 14:18

    跟著狄泰唐老師學C語言進階教程的筆記之變量的屬性

    extern "C"{int f(int a, int b){ return a + b;}}7.小結?auto 變量存儲在程序的棧中,默認屬性?static 變量存儲在
    發(fā)表于 05-28 10:40

    嵌入式C語言之變量與常量詳解

      目前,很多的C語言教材都是針對通用的計算機編程,創(chuàng)客學院嵌入式開發(fā)培訓講師針對嵌入式軟件的開發(fā)特點。講解嵌入式C語言在各種項目中要用到的知識點。  淺談嵌入式C語言之變量與常量詳解
    發(fā)表于 07-05 09:51

    嵌入式C語言之變量與常量簡析

      如何學習編程c++語言?粵嵌來講解嵌入式C語言在各種項目中要用到的知識點,尤其是嵌入式C語言之變量與常量的內(nèi)容:  1、變量類型和表示方
    發(fā)表于 12-15 06:27

    C語言入門教程-變量程序保存結果的手段

    變量程序保存結果的手段 作為程序員,您的程序常常需要“
    發(fā)表于 07-29 10:35 ?898次閱讀

    高效的C編程之變量類型

    14.8 變量類型 ARM C編譯器支持基本的數(shù)據(jù)類型:char、short、int、long long、float和double。表14.2說明了armcc對C語言所使用的數(shù)據(jù)類型的映射。 表
    發(fā)表于 10-17 16:50 ?3次下載
    高效的<b class='flag-5'>C</b>編程<b class='flag-5'>之變量</b>類型

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

    C之變量初始化的重要性
    發(fā)表于 05-15 16:46 ?965次閱讀
    你知道<b class='flag-5'>C</b><b class='flag-5'>之變量</b>初始化的重要性?

    C語言指針與指針變量的簡介和運算實例程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是C語言指針與指針變量的簡介和運算實例程序免費下載
    發(fā)表于 11-05 17:38 ?14次下載

    python教程之變量和簡單數(shù)據(jù)類型

    本文檔的主要內(nèi)容詳細介紹的是python教程之變量和簡單數(shù)據(jù)類型。
    發(fā)表于 04-26 08:00 ?7次下載
    python教程<b class='flag-5'>之變量</b>和簡單數(shù)據(jù)類型

    C語言中局部變量和全局變量

    全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個函數(shù),它屬于一個源程序文件。其作用域是整個源程序。在函數(shù)中使用全局
    的頭像 發(fā)表于 10-15 10:48 ?5403次閱讀

    Windows編程之變量和可變性綜述

    Windows編程之變量和可變性綜述
    發(fā)表于 08-24 14:22 ?3次下載

    Windows編程之變量和常量差異綜述

    Windows編程之變量和常量差異綜述
    發(fā)表于 08-24 14:50 ?8次下載

    Windows編程之變量與可變性詳解

    Windows編程之變量與可變性詳解
    發(fā)表于 08-24 14:52 ?8次下載

    C語言變量應用詳解

    變量其實只不過是程序可操作的存儲區(qū)的名稱。C 中每個變量都有特定的類型,類型決定了變量存儲的大小和布局,該范圍內(nèi)的值都可以存儲在內(nèi)存中,運算
    發(fā)表于 03-18 11:18 ?331次閱讀
    <b class='flag-5'>C</b>語言<b class='flag-5'>變量</b>應用詳解