日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

Arduino-變量和常量-系列3

作者:佚名    文章來源:網(wǎng)絡(luò)    點擊數(shù):    更新時間:2023/11/26

在之前的學(xué)習(xí)中,我們簡單介紹了Arduino的數(shù)據(jù)類型,下面一起來學(xué)習(xí)Arduino的變量和常量。首先是變量,在開始了解變量之前,理解變量的范圍是非常重要的。

 

什么是變量范圍?Variable Scope

Arduino使用的 C 語言變量中有一個名為scope的屬性。scope 也就是范圍是程序的一部分,變量又分為三種類型,分別是:

  1. 在函數(shù)或塊內(nèi)部的變量,稱為局部變量。
  2. 在函數(shù)參數(shù)中定義的變量,稱為形參。
  3. 在所有函數(shù)之外定義的變量,它被稱為全局變量。

局部變量 Local Variables

在函數(shù)或區(qū)塊中聲明的變量是局部變量。它們只能由位于函數(shù)或代碼塊內(nèi)的語句使用,局部變量不會在函數(shù)或代碼塊之外起作用。 下面是使用局部變量的示例 :

Void setup () {
}
Void loop () {
int x , y ;
int z ; //聲明局部變量
x = 0;
y = 0; //實際參數(shù)
z = 10;
}

全局變量 Global Variables

全局變量在所有函數(shù)之外進(jìn)行定義,通常在程序的頂部區(qū)域。全局變量將在程序的整個生命周期中發(fā)揮作用。全局變量一旦定義,任何函數(shù)都可以訪問和使用它,也就是說,一個全局變量在聲明之后在整個程序中都可以使用。下面的示例使用了全局變量和局部變量 :

Int T , S ;
float c = 0 ; //聲明全局變量;
Void setup () {
}
Void loop () {
int x , y ;
int z ; //聲明局部變量
x = 0;
y = 0; //實際參數(shù)
z = 10;
}

形式參數(shù) formal parameter

在函數(shù)定義中出現(xiàn)的參數(shù)可以看做是一個占位符,它沒有數(shù)據(jù),只能等到函數(shù)被調(diào)用時接收傳遞進(jìn)來的數(shù)據(jù),所以稱為形式參數(shù),簡稱形參。 形參變量只有在函數(shù)被調(diào)用時才會分配內(nèi)存,調(diào)用結(jié)束后,立刻釋放內(nèi)存,所以形參變量只有在函數(shù)內(nèi)部有效,不能在函數(shù)外部使用。

實際參數(shù) actual parameter

實參本身不屬于變量范疇,它是函數(shù)被調(diào)用時給出的參數(shù)包含了實實在在的數(shù)據(jù),會被函數(shù)內(nèi)部的代碼使用,所以稱為實際參數(shù),簡稱實參。實參可以是常量、變量、表達(dá)式、函數(shù)等,無論實參是何種類型的數(shù)據(jù),在進(jìn)行函數(shù)調(diào)用時,它們都必須有確定的值,以便把這些值傳送給形參,所以應(yīng)該提前用賦值、輸入等辦法使實參獲得確定值。

形參和實參的聯(lián)系

實參和形參在數(shù)量上、類型上、順序上必須嚴(yán)格一致,否則會發(fā)生“類型不匹配”的錯誤。當(dāng)然,如果能夠進(jìn)行自動類型轉(zhuǎn)換,或者進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,那么實參類型也可以不同于形參類型。

函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳遞是單向的,只能把實參的值傳遞給形參,而不能把形參的值反向地傳遞給實參;換句話說,一旦完成數(shù)據(jù)的傳遞,實參和形參就再也沒有瓜葛了,所以,在函數(shù)調(diào)用過程中,形參的值發(fā)生改變并不會影響實參。

請看下面的例子:

#include <stdio.h>
/*
*計算從m加到n的值
*/
int sum(int m, int n) {
int i;
for (i = m+1; i <= n; ++i) {
m += i;
}
return m;
}
int main() {
int a, b, total;
printf("Input two numbers: ");
scanf("%d %d", &a, &b);
total = sum(a, b);
printf("a=%d, b=%d\n", a, b);
printf("total=%d\n", total);
return 0;
}

在這段代碼中,函數(shù)定義處的 m、n 是形參,函數(shù)調(diào)用處的 a、b 是實參。通過 scanf() 可以讀取用戶輸入的數(shù)據(jù),并賦值給 a、b,在調(diào)用 sum() 函數(shù)時,這份數(shù)據(jù)會傳遞給形參 m、n。

Tags:Arduino,變量和常量,程序  
責(zé)任編輯:admin
相關(guān)文章列表
Arduino-時間函數(shù)-系列10
Arduino-字符串對象-系列9
Arduino-字符串 -系列8
Arduino-函數(shù)-系列7
Arduino-循環(huán)-系列6
Arduino-流程控制語句-系列5
Arduino-運算符-系列4
Arduino -數(shù)據(jù)類型-系列2
Arduino -程序結(jié)構(gòu)-系列1
ARDUINO UNO開發(fā)板介紹
Arduino開發(fā)語言基礎(chǔ)_Arduino語言基礎(chǔ)_arduino是用什么語言寫的?
Arduino新手入門詳細(xì)教程系列之【Ⅱ:Arduino編程環(huán)境配置】
如何設(shè)置Arduino IDE、連接開發(fā)板以及上傳第一個草圖
Arduino入門(一)Arduino下載安裝,超級詳解_Arduino download
Arduino概述,Arduino開發(fā)板和Arduino IDE
Arduino 交通燈_arduino紅綠燈代碼 三色LED燈
Arduino——RGB三色燈
Arduino控制RGB三色LED燈實驗、程序代碼、連線圖、仿真_程序控制…
推薦 適用于Arduino平臺的編程開發(fā)工具(arduino編程軟件下載)
Arduino開發(fā)——基于HC-SR04測距的智能垃圾桶,超聲波測距
基于 Arduino 的 OLED 菜單顯示_arduino 菜單OLED顯示
Arduino提高篇06—溫濕度OLED顯示_arduino溫濕度oled顯示
Arduino入門怎么學(xué)_Arduino開發(fā)課程的教與學(xué)
總有一款適合你——Arduino開發(fā)板,各種開發(fā)板詳解
Arduino使用的單片機(jī) ATMEGA328P引腳定義圖
詳解Arduino Uno開發(fā)板的引腳分配圖及定義 引腳定義
Arduino 程序結(jié)構(gòu)
基于ATmega328的微控制器板原理圖 Arduino板UNO原理圖
Arduino 超詳細(xì)的開發(fā)入門指導(dǎo)
Arduino簡介
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 都江堰市| 平潭县| 射洪县| 屏山县| 报价| 措美县| 中西区| 鸡泽县| 嘉黎县| 固原市| 镇沅| 亚东县| 项城市| 平顶山市| 清丰县| 汉寿县| 广饶县| 赫章县| 章丘市| 左贡县| 西吉县| 印江| 封丘县| 河北区| 田东县| 阳朔县| 章丘市| 长海县| 宁陵县| 石景山区| 安新县| 醴陵市| 中超| 从化市| 洛隆县| 高陵县| 饶平县| 虎林市| 清水县| 全椒县| 惠州市|