freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

section-04-函數(shù)-指針-引用(編輯修改稿)

2024-08-31 09:40 本頁面
 

【文章內(nèi)容簡介】 rn。一般來說,定義的外部類變量,在引用前需要說明。 特別是在下列兩種情況下,必須說明 : 同一個(gè)文件中的外部類變量,如果定義在后,引用在先,引用前必須說明; 在程序的一個(gè)文件中定義的外部類變量,要在該程序中的另一個(gè)文件中引用,則引用前必須說明。 如果一個(gè)外部類變量在一個(gè)文件中,先定義,后引用,則可以不必說明。 外部類變量被定義后,它就有默認(rèn)值, char型變量為空, int型變量為 0,float型、 double型變量為 。 例 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 21 C++中的靜態(tài)類變量: 內(nèi)部靜態(tài)類、外部靜態(tài)類 內(nèi)部靜態(tài)類變量的作用域同自動(dòng)類變量,即作用域是定義或說明它的函數(shù)體或分程序內(nèi)。 只有在程序結(jié)束時(shí)才被釋放,其可見性和存在性是不一致的 。在它的作用域內(nèi)是可見的,也是存在的,但是超出它的作用域后,雖然不可見了,但還是存在的。 內(nèi)部靜態(tài)類變量被定義或說明后具有默認(rèn)值 。 外部靜態(tài)類變量的作用域是在定義或說明它的文件中,并且從定義或說明時(shí)起有效,直到該文件結(jié)束。其 作用域介于外部類和自動(dòng)類(或內(nèi)部靜態(tài)類)變量之間 。它的 生存期與外部類變量相同 。靜態(tài)類變量和外部類變量都被存放在內(nèi)存的靜態(tài)工作區(qū) , 外部靜態(tài)類變量的可見性與存在性也是不一致的 。 注意: 可見性與存在性不一致是靜態(tài)類變量的特點(diǎn) 。 外部靜態(tài)類被定義或說明后也具有默認(rèn)值 。 靜態(tài)類變量在定義或說明時(shí),都在其前面加存儲類說明符 static。 內(nèi)部靜態(tài)類與外部靜態(tài)類的區(qū)別是 :內(nèi)部靜態(tài)類定義在函數(shù)體或分程序內(nèi),而外部靜態(tài)類定義在函數(shù)體的外面。 總結(jié) :靜態(tài)類變量的特點(diǎn)如下: 定義或說明時(shí)須加上 static說明符; 可見性與存在性是不一致的,可見性范圍小,但存在性范圍大; 定義或說明后有默認(rèn)值。 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 22 C++中的內(nèi)部函數(shù)與外部函數(shù) 函數(shù)的存儲類可分為兩類: 內(nèi)部函數(shù) 和 外部函數(shù) 。 內(nèi)部函數(shù)是在定義它的文件中可以被調(diào)用,而在同一程序的其他文件不可以調(diào)用。 內(nèi)部函數(shù)的定義格式如下 : static 數(shù)據(jù)類型 函數(shù)名 ( 參數(shù)表及說明 ) { 函數(shù)體的若干語句 } 例 外部函數(shù)是一種作用域在整個(gè)程序中的函數(shù),包含該程序的所有文件都可以調(diào)用 。 外部函數(shù)的定義格式如下: extern 數(shù)據(jù)類型 函數(shù)名 ( 參數(shù)表及說明 ) { 函數(shù)體的若干語句 } 注意 : 通常,都省略關(guān)鍵字 extern。 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 23 C++中的指針 指針是一種特殊的變量 。它具有一般變量的三個(gè)要素 ,即: 名字 、類型 和 值 。指針的命名與一般變量的命名時(shí)相同的, 它與一般變量的區(qū)別在于類型和值 上。 指針的值: 指針是一種用來存放某個(gè)變量在內(nèi)存中的地址值的變量。因?yàn)槿魏我粋€(gè)變量被定義或說明后,它將被分配一個(gè)內(nèi)存單元,用來存放該變量的值,于是 被定義或說明的變量都有一個(gè)內(nèi)存地址值 。 一個(gè)指針存放了某個(gè)變量的地址值,就稱這個(gè) 指針指向被存放地址值的變量 。一個(gè)指針存放了哪個(gè)變量的地址值,該指針就指向那個(gè)變量。因此, 指針本身具有一個(gè)內(nèi)存地址值 ,另外,它還存放有它所指向的變量的地址值 。 指針的類型: 指針的類型 不是他所存放的某個(gè)變量的地址值的類型, 而是該指針?biāo)赶虻淖兞康念愋?。指針可以指向所有基本數(shù)據(jù)類型的變量,還可以指向構(gòu)造數(shù)據(jù)類型的變量。 指針與它所指向變量的關(guān)系: 變量名 內(nèi)存 地址值 …… a 5 1001H …… pa 1001H 2022H 兩個(gè)運(yùn)算符是: amp。 和 * 。 存放某變量地址值的 變量 ;其 類型 為它所指向變量的類型;其 內(nèi)容 是它所指變量的值。 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 24 C++中指針的定義格式 定義指針與定義一般變量一樣,先要確定指針名,指出指針類型,并 在指針名前加上 *,表示后面的名字為指針名, 可以賦初值,也可以不賦初值 。格式如下: 類型 *指針名 1, *指針名 2, …… ; int *pi, *pm。 char *pc。 double *pd。 int (*pa)[3]。 int (*pf)()。 int **pp。 pi和 pm分別表示指向 int型變量的指針; pa是一個(gè)指向一個(gè)具有 3個(gè) int型元素的一維數(shù)組的指針; pf是指向返回值為 int型值的函數(shù)的指針。 pp是一個(gè)指向指針的指針。 注意: 定義一個(gè)指針后,系統(tǒng)將為該指針分配一個(gè)內(nèi)存單元。不同類型的指針?biāo)峙涞膬?nèi)存單元的大小是相同的 ,因?yàn)轭愋筒煌闹羔標(biāo)娣诺臄?shù)據(jù)值都是內(nèi)存地址。 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 25 C++中指針的賦值 指針與一般變量一樣,也可以被賦值或被賦初值(此時(shí)應(yīng)該將內(nèi)存的地址值賦給指針變量)。 不同類型的變量的地址值表示方法有所不同 ,下面舉例說明: int b, a[5]。 int *p1, *p2。 p1 = amp。b。 p2 = amp。a[3]。 int b[2][3]。 int (*p)[3]。 p = b。 int f(int x)。 int (*pf)()。 pf = f。 p是一個(gè)指向一維數(shù)組( 3個(gè)元素)的指針,而 b是一個(gè)二維數(shù)組的數(shù)組名,他本身是二維數(shù)組 b的第 0行的地址。將 b賦值給 p,即讓指針 p指向二維數(shù)組 b的首行。一個(gè)二維數(shù)組可以看成由若干行組成的數(shù)組,每一行對應(yīng)于一個(gè)一維數(shù)組。 pf是一個(gè)指向函數(shù)的指針,這里, pf指向函數(shù) f()。 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 26 C++中指針的運(yùn)算 指針是一種特殊的變量,它 僅允許下述 4種運(yùn)算 : 賦值 運(yùn)算,可以賦初值或者賦值 一個(gè)指針可以 加減一個(gè)整數(shù) 兩個(gè) 指針 在一定條件下可以相加減 兩個(gè) 指針 在一定條件下可以相比較 在給指針賦值時(shí),應(yīng)該注意如下事項(xiàng): 給指針?biāo)x的值應(yīng)是它 所指向的變量的地址值 ; 要求 指針的類型應(yīng)與它所指向的變量的類型相同,并且級別一致 。 類型相同是指 : int型指針只能接收 int型變量的地址值。 級別一致是指 :一級指針只能接收一般變量和數(shù)組元素的地址值,而不能接收一個(gè)二維數(shù)組的數(shù)組名,因?yàn)?二維數(shù)組名相當(dāng)于二級指針 。 一個(gè)暫時(shí)不用的指針可 賦值 0(或者 NULL) 。 定義的任何指針 在沒有給確定的地址值前絕對不能使用 。因?yàn)橹羔標(biāo)赶虻臄?shù)據(jù)可能是無效的。 可以將一個(gè)已被賦值的指針賦值給另外一個(gè)相同類型的指針。 指針運(yùn)算實(shí)際上是地址運(yùn)算,但是指針運(yùn)算又不同于地址運(yùn)算 ,如: 注意 p+1 與 (int)p+1 的區(qū)別。 int a[10], *p = a。 例 例 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 27 C++中數(shù)組名是一常量指針 C++規(guī)定:數(shù)組名是一個(gè)常量指針,而且一個(gè)數(shù)組的數(shù)組名便是該數(shù)組的首元素的地址值。常量指針的值是不能被改變的?。?! int GetStrLen(char a[]) { char *p = a。 int i = 0。 while(a[i++] != ?\0?) p++。 return p a。 } p是一個(gè)變量指針, a是一個(gè)常量指針。 p可以加減一個(gè)整數(shù)(包括增 1或減 1), a是一個(gè)常量指針,因此不能換成 a++。 返回字符串a(chǎn)的長度。 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 28 C++中數(shù)組元素的指針表示 在 C++中, 數(shù)組可以用下標(biāo)表示,也可以用指針表示 。系統(tǒng)規(guī)定: 用指針表示要比用下標(biāo)表示時(shí)運(yùn)行效率高 。因此,建議在程序中應(yīng)該盡量使用指針表示數(shù)組。 一維數(shù)組元素的指針表示: int a[10]。 數(shù)組元素 a[i]對應(yīng)的指針表示為: *(a + i)。 例 二維數(shù)組元素的指針表示: 例 一個(gè)二維數(shù)組可以看成由行數(shù)組和列數(shù)組組成的,行數(shù)組和列數(shù)組都是一維數(shù)組。因此: b為數(shù)組第 0行的地址, b+1為數(shù)組第一行的地址; b[0]為 數(shù)組第 0行的首列地址, b[i]為第 i行的首列地址。 b[i]+j為第 i行第 j列元素的地址 int b[3][5]。 數(shù)組元素 b[i][j] 對應(yīng)的指針表示可以為以下任何一種: *(amp。b[0][0] + 5 * i + j) *(*(b + i) + j) (*(b + i))[j] *(b[i] + j) 程序設(shè)計(jì) amp。 數(shù)據(jù)結(jié)構(gòu) 數(shù)學(xué)系計(jì)算數(shù)學(xué)教研室 29 C++中的字符數(shù)組、字符指針、字符串 字符數(shù)組和字符串 字符串一般存放在一維字符數(shù)組中,而一維字符數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1