无码一区二区三区高清在线观-无码一区二区三区高清在线-无码一区二区三区电影-无码一区二区三区不卡av-无码一区二区三区不卡-无码一区二区三区va在线播放

首頁 > 職業資格  > 

c語言中什么是變量

2023-02-10   來源:萬能知識網

c語言中什么是變量

大家在初學C語言的時候對各種變量之間的區別以及存儲布局可能都有很多疑問,造成在使用變量的時候可能會遇到錯誤的地方。下面是應屆畢業生小編為大家整理的關于c語言的介紹和分類,希望可以幫到大家哦。


(資料圖片僅供參考)

c語言中什么是變量 篇1

c語言的變量特性:

第一、變量定義要選擇恰到好處的類型,變量的類型直接決定了它所存儲的數據取值范圍,這類似于我們生活中使用的各種容器,選擇合適的變量類型,不但能保證數據存儲安全,還能有效的節約系統資源;

第二、變量的作用范圍必須清楚,C語言最基本的功能單元是函數,在函數內部使用的變量是私有變量,只能在函數內部使用。多個函數組成一個程序的功能模塊,并安置在某一個C文件中,在這些函數的頭部定義的變量是靜態變量(局部變量),這種類型的變量模塊內部的函數都可以訪問。如果在模塊內部聲明變量,并在該模塊的頭文件中導出,該類型變量就是全局變量,全局變量在整個工程中的所有函數都可以訪問;

第三、變量占用的RAM資源,私有變量是可以釋放的,靜態變量與全局變量是不可以釋放的。也就是說在程序運行的整個過程中,私有變量占用資源可以供不同的函數重復利用,而靜態變量與全局變量是完全被占用不能重復利用的;

第四、變量可以存放常數,但因為單片機RAM資源有限,強烈建議不要用變量存放常量,而是在資源相對豐富的Flash ROM中存放常量;

第五、局部變量與全局變量對于函數來說,訪問非常方便,但缺點顯而易見:訪問的函數越多,數據的安全性越低,一旦出現數據異常,很難排除問題。所以,請盡量減少局部變量與全局變量的使用;

第六、函數的型參個數盡量減少,這樣型參只會占用通用寄存器組來完成參數傳遞工作。如果參數過多,編譯器可能會被迫分配占用RAM資源,這樣不但參數傳遞效率變低,同時還會導致RAM資源浪費;

c語言變量的分類

全局變量的作用范圍是整個程序(如果程序是多個文件,必須在其他的文件中說明)。

靜態變量的作用范圍要看靜態變量的位置,如果在函數里,則作用范圍就是這個函數。

靜態變量又分為靜態全局變量和靜態局部變量。

靜態全局變量,只在本文件可以用,雖然整個程序包含多個文件,但靜態全局變量只能用在定義它的那個文件里,卻不能用在程序中的其他文件里。

它是定義存儲因型為靜態型的外部變量,其作用域是從定義點到程序結束,所不同的是存儲類型決定了存儲地點,靜態型變量是存放在內存的數據區中的,它們在程序開始運行前就分配了固定的字節,在程序運行過程中被分配的字節大小是不改變的,只有程序運行結束后,才釋放所占用的內存。

全局變量是沒有定義存儲類型的外部變量,其作用域是從定義點到程序結束,省略了存儲類型符,系統將默認為自動型。

自動型變量存放在堆棧區中,堆棧區也是內存中一部分,該部分內存在程序運行中是重復使用的。

按存儲區域分,全局變量、靜態全局變量和靜態局部變量都存放在內存的靜態存儲區域,局部變量存放在內存的棧區。

按作用域分,全局變量在整個工程文件內都有效;靜態全局就量只在定義它的文件內有效;靜態局部變量只在定義它的函數內有效,只是程序僅分配一次內存,函數返回后,該變量不會消失;局部變量在定義它的函數內有效,但是函數返回后失效。

全局變量和靜態變量如果沒有手工初始化,則由編譯器初始化為0。局部變量的值不可知,所以一般在定義的時候一定要賦初值。

c語言中什么是變量 篇2

變量要有變量名,在內存中占據一定的存儲單元,存儲單元里存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。那么C語言變量的類型有哪些呢,一起來看看!

(一)整型變量

整型變量分為4種:基本型(int)、短整型(short int 或short)、長整型(long int 或 long)和無符號型(unsigned int ,unsigned short,unsigned long)。

不同的編譯系統對上述四種整型數據所占用的位數和數值范圍有不同的規定。

類型說明符

說明:

單詞signed來說明“有符號”(即有正負數之分),不寫signed也隱含說明為有符號,unsigned用來說明“無符號”(只表示正數)。

(二)實型變量

C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:

float a , b ;

double m ;

在vc中,float 型數據在內存中占4個字節(32位),double型數據占8個字節。單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據其類型截取實型常量中相應的有效數字。

注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。

(三)字符變量

字符變量用來存放字符常量,定義形式:

char 變量名;

其中關鍵字char定義字符型數據類型,占用一個字節的存儲單元。

例:char cr1,cr2;

cr1= ‘A’ , cr2=‘B’ ;

將一個字符賦給一個字符變量時,并不是將該字符本身存儲到內存中,而是將該字符對應的ASCII碼存儲到內存單元中。例如,字符 ′A′ 的ASCII碼為65,在內存中的存放形式如下:01000001

由于在內存中字符以ASCII碼存放,它的存儲形式和整數的存儲形式類似,所以C語言中字符型數據與整型數據之間可以通用,一個字符能用字符的形式輸出,也能用整數的形式輸出,字符數據也能進行算術運算,此時相當于對它們的ASCII碼進行運算。

c語言中什么是變量 篇3

一、變量的概念

程序設計就是讓計算機按照一定的指令來進行工作,可以說數據的處理是程序設計的主要任務。那么數據是怎么加入到計算機的內存中呢?計算機最初的功能就是能夠存儲數據并處理數據的機器。那么數據是怎么加入到計算機的內存中呢?在學習程序設計之前,很多學生對計算機的硬件設施都大概已經很熟悉了。計算機的硬件設施中有一個區域是用來存儲數據的,計算機在工作的過程中會頻繁的從這個區域讀入和讀出數據。要想讓計算機按照某些指令(程序)自動工作,首先必須把數據存儲到計算機的存儲空間中。在某種計算機語言中實現這種數據存儲功能的就是變量。變量就是計算機內存中的某一個存儲單元。

二、變量的定義

C語言中變量在使用之前必須先對其進行定義,變量的定義的一般形式如下:【存儲類別】數據類型變量名;其中存儲類別是可以省略的。

1、存儲類別計算機的內存一般分為三個部分:1)程序區;2)靜態存儲區;3)動態存儲區;為了高效的發揮計算機的功能,不同類型的變量存放在不同的內存區域。變量的存儲類別決定了變量中的數據在計算機內存中的存儲位置。C語言中局部變量存放在動態存儲區,全局變量或者靜態變量存放在靜態存儲區。

2、數據類型在用程序處理問題之前,首先必須確定用何種方式描述問題中所涉及到的數據。這個問題在C語言中是由數據類型來決定的。變量的本質表現為在計算機中的存在時間和存儲空間。變量的數據類型是用來決定變量在計算機中占用內存空間的大小。比如:整型數據在TC編譯系統中占用兩個字節的存儲空間。C語言變量的類型不僅確定了數據在計算機內存中的存儲區域的大小,同時確定了該數據能夠參與的各種運算。任何一個C語言的變量必須有確定的數據類型,不管這個變量如何變化,變量的值都必須符合該變量數據類型的規定。

3、變量的名字通過以上介紹我們知道C語言中的變量就是計算機的.某個存儲單元,假設你給某個變量賦予了一個數值,對變量的處理其實就是對這個數據的處理。那么計算機是如何快速準確的找到這個數據呢?計算機的內存是以字節為單位進行劃分的。每個存儲單元都有自己的地址編號,就向賓館中房間的房間號一樣。計算機就是通過地址來準確的確定數據的存儲位置。但是對于程序員特別是非專業計算機人士,如果用計算機內存地址記錄數據是非常難操作的。

為了更好的掌控變量,C語言規定可以給每個變量其一個容易識別的名字。這個名字的命名規則遵循C語言的標識符命名規則。C語言的變量名的命名在遵循C語言標識符規則的前提下,原則上可以是任意長度字符的組合。但是目前很多的C語言編譯系統只能識別前31個字符,如果兩個變量的前31個字符相同,則編譯系統會認為這兩個變量時同一個變量。為了避免這種混淆的出現最好避免使用多余31個字符的變量名。變量的理解變量就是計算機中的某個存儲單元。定義某個變量本質上就是向計算機申請一些存儲區域。這個存儲區域的大小由變量的數據類型決定,這個存儲區域的位置有變量的存儲類類別決定。給變量賦予某個數值,其實就是向該變量對應的存儲單元讀入數據,對變量的處理就是對這個存儲單元中的數據的處理。并且這個存儲單元中的數據在程序的運行期間是可以發生變化的。

詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。

推薦詞條

主站蜘蛛池模板: 国产福利一区二区三区在线观看1794 | 欧洲无人区卡一卡二卡三 | 免费视频另类成人天堂资源www | 人妻中文字幕乱人伦在线 | 国产中文中文娱乐无码 | 国产成人精品日本亚洲77上位 | 久久久久人妻精品一区三 | 好爽快点我受不了了国产 | 国产福利一区二区三区视频在线 | 亚洲精品无码mv在线观 | 国内精品久久久久影院不卡 | 麻豆蜜桃国产精品无码视频 | 青青草国产三级精品三级 | 中文字幕AV久久一区二区 | 国产v亚洲v天堂宗合 | 无码人妻精品一区二区三区99仓本 | 午夜日韩欧美精品久久久久 | 成人无码T髙潮喷水A片小说 | 国产无人区卡一卡二卡三乱码免费版下载 | 久久久久久中文字幕大全免费看 | 国产大片成人啪av在线观看 | 成人久久18免费软件 | 日本高清一二三区视频在线 | 国内精品一卡二卡三卡公司 | 久久久久99精品成人免费 | 日韩欧美综合一二三区 | 国产台湾无码AV片在线观看 | 国产亚洲一区二区三区不卡 | 自慰喷白浆一区二区 | 熟女少妇丰满一区二区 | 99热精国产这里只有精品 | 亚洲色无码中文字幕日韩精品一区二区三区 | 日本aⅴ精品一区二区三区日 | 欧美性生交XXXXX无码久久久 | 日韩欧美亚洲一区中文字幕 | 国产精品不卡无码av在线播放 | 国产精品久久久久久人妻精品 | 韩国色情巜肉欲夜姬 | 99久久国产精品免费一区二区 | 亚洲精品无码A片一区二区三区 | 国产人A片在线乱码视频 |