版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 C程序的組成與實(shí)現(xiàn) 操作數(shù)、運(yùn)算符和表達(dá)式 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 輸入與輸出 數(shù)組 指針 函數(shù) 變量的作用域和生存期 結(jié)構(gòu)體、共用體和枚舉類型 文件一、C程序的組成與實(shí)現(xiàn)C程序與源文件o 一個(gè)C程序由一個(gè)或多個(gè)源文件組成。o 一個(gè)源文件可以供多個(gè)C程序使用。o 源文件是一個(gè)程序的基本編譯單位。o 一個(gè)源文件中包括:n 預(yù)處理指令n 全局聲明n 函數(shù)定義C程序與函數(shù)o 一個(gè)源文件主要由一個(gè)或多個(gè)函數(shù)組成。o 一個(gè)函數(shù)可以供多個(gè)源文件使用。o 一個(gè)C程序只能有一個(gè)主函數(shù)。o 函數(shù)是一個(gè)C程序的基本組成單位。o 一個(gè)函數(shù)包括:n 函數(shù)首部n 函數(shù)體函數(shù)的結(jié)構(gòu)o 類型標(biāo)識(shí)符 函數(shù)名(形式參數(shù)表列)聲明
2、部分語句部分函數(shù)首部o 類型標(biāo)識(shí)符函數(shù)的類型,也是函數(shù)返回值的類型。o 函數(shù)名函數(shù)的標(biāo)示符,也是函數(shù)的入口地址。o (形式參數(shù)表列)此處為形式參數(shù),接收實(shí)際參數(shù)的單向、值傳遞。參數(shù)可以沒有,但無論有無參數(shù),括號(hào)均不能省略。函數(shù)體o 函數(shù)體由花括號(hào)限定。里面可以包括聲明部分和語句部分,也可以什么都沒有,但花括號(hào)不能省,即空函數(shù)。o 聲明部分定義新變量或聲明已有變量和函數(shù)。語句部分執(zhí)行操作,共9類語句。o 聲明部分和語句部分可以沒有,但如果有,一定要聲明在前,語句在后,即變量和函數(shù)必須:先聲明,再使用。聲明部分o 聲明包括定義,但并非所有的聲明都是定義。o 需要建立存儲(chǔ)空間的?!岸x性聲明” ,為
3、敘述方便,簡(jiǎn)稱“定義”。2. 不需要建立存儲(chǔ)空間的?!耙眯月暶鳌?,為敘述方便,簡(jiǎn)稱“聲明”。語句部分1. 表達(dá)式語句2. 函數(shù)調(diào)用語句3. 控制語句4. 復(fù)合語句5. 空語句6. return語句7. break語句8. continue語句9. goto語句C程序的實(shí)現(xiàn)二、操作數(shù)、運(yùn)算符和表達(dá)式常量o 在程序運(yùn)行過程中,其值不能被改變的量稱為常量。o 從字面形式即可判別的常量稱為字面常量。如:56、12.3、a、“hello world!”。o 用一個(gè)標(biāo)識(shí)符代表一個(gè)常量,稱為符號(hào)常量。如:#define PI 3.1416。 變量o 變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,它用來存放數(shù)
4、據(jù),也就是變量的值,在程序運(yùn)行期間,這些值是可以改變的。o 變量名是映射一個(gè)特定存儲(chǔ)地址的標(biāo)示符。o 變量類型決定存儲(chǔ)單元大小與數(shù)據(jù)存儲(chǔ)形式。o 針對(duì)變量的操作是通過變量名找到對(duì)應(yīng)地址,按變量類型在相應(yīng)長度內(nèi)按指定形式寫入或讀取的數(shù)據(jù)。標(biāo)識(shí)符o 用來對(duì)變量、符號(hào)常量、函數(shù)、數(shù)組、類型等命名的有效字符序列統(tǒng)稱為標(biāo)識(shí)符。o 標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,且第一個(gè)字符必須為字母或下劃線。o 標(biāo)識(shí)符不能是關(guān)鍵字(附錄C)。o 標(biāo)識(shí)符區(qū)分大小寫,習(xí)慣上變量名使用小寫字母,符號(hào)常量名使用大寫字母。o 標(biāo)識(shí)符的命名應(yīng)盡量做到見名知意。整型數(shù)據(jù)o int 4字節(jié)。o 不帶小數(shù)點(diǎn)的數(shù)值是整型數(shù)據(jù)。o 十進(jìn)
5、制:123、-31o 八進(jìn)制:0123、-037o 十六進(jìn)制:0 x12、-0 x1f字符型數(shù)據(jù)o char 1字節(jié)。o 字符數(shù)據(jù)是用單撇號(hào)括起來的一個(gè)字符。如a、8、? 都是字符常量。o 除以上形式的字符數(shù)據(jù)外,還有一種特殊形式的字符數(shù)據(jù),就是以轉(zhuǎn)義字符“”開始的字符序列。如“n”。o 字符型變量在內(nèi)存中以ASCII碼形式存儲(chǔ),與整數(shù)的存儲(chǔ)形式類似。兩種數(shù)據(jù)可以通用。浮點(diǎn)型數(shù)據(jù)o float 4字節(jié)。o 浮點(diǎn)型數(shù)據(jù)用來表示有小數(shù)點(diǎn)的實(shí)數(shù)。o 十進(jìn)制小數(shù)形式。它由數(shù)字和小數(shù)點(diǎn)組成。如0.123、123.、123.0、0.0 、.5。o 指數(shù)形式。如1.2e3、12E-4字母e或E之前必須有數(shù)字
6、,且e后面的指數(shù)必須為整數(shù)。運(yùn)算符o(), ( ,從左至右)o!,-,+,-,*,& (一元,從右至左)o*,/,% (二元,從左至右)o+,- (二元,從左至右)o,= (二元,從左至右) o=,!= (二元,從左至右)o& (二元,從左至右)o| (二元,從左至右)o? : (三元,從右至坐)o=,+=,-=,*=,/=,%= (二元,從右至左)o , ( ,從左至右)三、選擇結(jié)構(gòu)單分支o if(表達(dá)式) 語句1雙分支o if(表達(dá)式) 語句1 else 語句2多分支o if(表達(dá)式1) 語句1else if(表達(dá)式2) 語句2 else if(表達(dá)式3) 語句3 else
7、 if(表達(dá)式n-1) 語句n-1else 語句n分支的嵌套o(hù) if()if() 語句1else 語句2elseif() 語句3else 語句4if語句的表達(dá)式o if語句須對(duì)“表達(dá)式”求解,根據(jù)結(jié)果的真假選擇相應(yīng)的語句執(zhí)行。o 表達(dá)式通常為邏輯表達(dá)式或關(guān)系表達(dá)式,也可以是其他表達(dá)式、常量或變量。o 表達(dá)式結(jié)果為0,則條件為假;表達(dá)式結(jié)果非0,則條件為真。if語句的內(nèi)嵌語句o ifelse是一個(gè)完整的語句,else是if語句的一部分,但else前后的內(nèi)嵌語句都要加分號(hào)。o在if和else后面有且只有一條內(nèi)嵌語句,如要包含多條語句,需用花括號(hào)將幾條語句括起來成為一個(gè)復(fù)合語句。else與if的配對(duì)
8、o else不能單獨(dú)使用,并且總是與o 上面的o 最近的o 未配對(duì)的o if進(jìn)行配對(duì)。1. 如果if與else的數(shù)目不一樣,可用花括號(hào)來確定配對(duì)關(guān)系。四、循環(huán)結(jié)構(gòu)四個(gè)要素o “起點(diǎn)”:循環(huán)控制變量在進(jìn)入循環(huán)體前必須先賦初值。o “終點(diǎn)”:表達(dá)式可以是任意類型。結(jié)果只有0(假)和非0(真)兩種情況。o “步長”:循環(huán)體中應(yīng)有使循環(huán)趨于結(jié)束的語句。o “循環(huán)”:如果包含一個(gè)以上的語句,應(yīng)該用花括號(hào)限定,以復(fù)合語句形式出現(xiàn)。while語句o “先判斷,再執(zhí)行”o 一般形式為: while(表達(dá)式) 語句1dowhile語句o “先執(zhí)行,再判斷”o 一般形式為: do 語句1 while(表達(dá)式);
9、for語句o一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句1o相當(dāng)于:for(初始條件;!終止條件;步長變化) 循環(huán)語句三種循環(huán)的比較o 使用while和do-while循環(huán),循環(huán)變量的初始化應(yīng)在進(jìn)入while和do-while語句之前完成;在for循環(huán)中可由表達(dá)式1實(shí)現(xiàn)。o 使用while和do-while循環(huán),循環(huán)體內(nèi)應(yīng)包含使循環(huán)趨于結(jié)束的語句;在for循環(huán)中可由表達(dá)式3實(shí)現(xiàn)。o 使用while和do-while循環(huán),while后面的括號(hào)內(nèi)應(yīng)說明循環(huán)結(jié)束的條件;在for循環(huán)中可由表達(dá)式2說明。三種循環(huán)的特點(diǎn)o 一般情況下,3種循環(huán)可以互相代替。o while語句更適合處理“當(dāng)”型
10、循環(huán)。o do-while語句更適合處理“直到”型循環(huán)。o for語句書寫靈活,功能最強(qiáng),適合處理各種循環(huán)問題。只要遵循for語句的求值順序,參數(shù)和語句可任意省略或?qū)懭霟o關(guān)的內(nèi)容,循環(huán)功能的實(shí)現(xiàn)不受影響。循環(huán)的嵌套o(hù) 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。o 3種循環(huán)(while循環(huán)、dowhile循環(huán)和for循環(huán))可以相互嵌套。break語句o 使用break語句可以使流程跳出switch結(jié)構(gòu),繼續(xù)執(zhí)行switch語句下面的一個(gè)語句。o 使用break語句可以跳出所在的循環(huán)體,即提前結(jié)束循環(huán),接著執(zhí)行循環(huán)體下面的語句。contin
11、ue語句o 使用continue語句可以結(jié)束所在循環(huán)體的本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,直接執(zhí)行下一次循環(huán)的條件判斷。continue、break和goto的比較o continue語句只結(jié)束本次循環(huán);o break語句則結(jié)束整個(gè)循環(huán)。o goto語句從深度循環(huán)的嵌套中一次跳出多層循環(huán)。五、輸入與輸出C語言的輸入與輸出o 輸入輸出是以計(jì)算機(jī)為主體而言的。o 從計(jì)算機(jī)向輸出設(shè)備輸出數(shù)據(jù)稱為輸出。o 從輸入設(shè)備向計(jì)算機(jī)輸入數(shù)據(jù)稱為輸入。o C語言本身不提供輸入輸出語句。輸入和輸出操作是由C函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的。o 使用“標(biāo)準(zhǔn)輸入輸出函數(shù)”的源程序文件在引用這些函數(shù)前必須:#inclu
12、de 。printf()o 輸出若干個(gè)任意類型的數(shù)據(jù)。o 函數(shù)形式:printf(格式控制, 輸出表列)o 格式控制是用雙撇號(hào)限定的字符串,包括:n 格式說明。由“%”和格式字符組成。n 普通字符。普通字符即需要原樣輸出的字符。o 輸出表列是需要按指定格式輸出的若干數(shù)據(jù)??梢允亲兞?,也可以是表達(dá)式。由逗號(hào)隔開。scanf()o 輸入若干個(gè)任意類型的數(shù)據(jù)。o 函數(shù)形式:scanf(格式控制, 地址表列)o “地址表列”是由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址。putchar()o 輸出一個(gè)字符。o 函數(shù)形式:putchar(c)o 參數(shù)c可以是常量也可以是變量;可以是字符型數(shù)
13、據(jù)也可以是整型數(shù)據(jù)。getchar()o 輸入一個(gè)字符。o 函數(shù)形式:getchar()o 參數(shù)是從輸入設(shè)備得到的字符。puts()o 以第一個(gè)0做結(jié)束標(biāo)志,將一個(gè)字符串輸出到終端,并將0轉(zhuǎn)換成n輸出。o 函數(shù)形式:puts (字符數(shù)組名)gets()o 以enter 作為結(jié)束標(biāo)志,輸入一個(gè)字符串到字符數(shù)組。o 函數(shù)形式:gets(字符數(shù)組名)strlen函數(shù)o 檢測(cè)字符串的長度。o 函數(shù)形式:strlen (字符數(shù)組名)o 函數(shù)值返回值為被測(cè)字符串的實(shí)際長度(不包括0在內(nèi))。格式符o %d:十進(jìn)制整數(shù)。o %f:十進(jìn)制實(shí)數(shù)。 o %c:?jiǎn)蝹€(gè)字符。o %s:一個(gè)字符串。修飾符o -: 輸出的數(shù)
14、字或字符在域內(nèi)向左靠攏。o m:數(shù)據(jù)最小寬度o n: 輸出的小數(shù)位數(shù);六、數(shù)組數(shù)組的概念o 數(shù)組是具有同一類型的有序數(shù)據(jù)的集合。o C語言規(guī)定只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組。o 必須先定義數(shù)組,然后引用數(shù)組元素。o 數(shù)組中各元素類型相同,與數(shù)組類型一致。o 每個(gè)元素由統(tǒng)一的數(shù)組名和惟一的下標(biāo)確定。o 下標(biāo)從0開始,必須為整型常量或表達(dá)式。數(shù)組的本質(zhì)o 數(shù)組中的所有元素在內(nèi)存中都是連續(xù)字節(jié)存放的,即保存在一塊連續(xù)的內(nèi)存區(qū)中。o 數(shù)組中各元素所占內(nèi)存的大小為該元素所屬基本類型的大小。o 數(shù)組所占內(nèi)存的大小為一個(gè)元素所占內(nèi)存的大小乘以元素個(gè)數(shù)。數(shù)組的定義o 定義一維數(shù)組的一般格式為: 類
15、型說明符 數(shù)組名常量表達(dá)式;o 例如: int a10;數(shù)組的初始化o 定義時(shí)給所有元素賦值(1):int a3=1,2,3;o 定義時(shí)給所有元素賦值(2):int a=1,2,3;o 定義時(shí)給部分元素賦值:int a3=1,2;字符數(shù)組的定義o 用來存放字符型數(shù)據(jù)的數(shù)組是字符數(shù)組。字符數(shù)組中每個(gè)元素存放一個(gè)字符。o 定義字符數(shù)組的一般格式為:char 數(shù)組名常量表達(dá)式o 例如:char c10;(數(shù)組長度10字節(jié))使用字符對(duì)數(shù)組初始化o 對(duì)字符數(shù)組初始化時(shí)可將逐個(gè)字符賦給數(shù)組中各元素。o 例如:char c5=H,e,l,l,o;o 字符數(shù)組長度與初值個(gè)數(shù)相同時(shí),可省略數(shù)組長度。o 如果初值
16、個(gè)數(shù)小于數(shù)組長度,其余的元素自動(dòng)賦為空字符(即0)。o 字符數(shù)組長度小于初值個(gè)數(shù)時(shí),系統(tǒng)報(bào)錯(cuò)。使用字符串對(duì)數(shù)組初始化o char c =“I am happy”;花括號(hào)可省。o 省略數(shù)組長度,系統(tǒng)自動(dòng)添加0作結(jié)束符。o 數(shù)組長度大于字符串常量的字符數(shù)個(gè)數(shù)時(shí),多出的元素自動(dòng)賦為空字符(即0)。o 數(shù)組長度小于字符串常量的字符數(shù)個(gè)數(shù)時(shí),多出的字符不被存儲(chǔ)。o 組長度等于字符串常量的字符個(gè)數(shù)時(shí),本應(yīng)自動(dòng)添加的“0”將不被存儲(chǔ)。字符數(shù)組與字符串o 字符數(shù)組是元素為字符變量的數(shù)組。o 字符串則是以0為結(jié)束字符的字符數(shù)組。o 字符數(shù)組是定長的,由下標(biāo)控制訪問。o 字符串是可變長的,因此必須用0來標(biāo)記字符串
17、的結(jié)束。%c 與 %so 用%c輸入輸出逐個(gè)字符。o 用%s輸入輸出整個(gè)字符串。o 用%c輸出字符,長度由循環(huán)控制變量決定。o 用%s輸出字符串,到(不包括)0 結(jié)束。o 用%c輸入字符,輸入項(xiàng)是元素的地址。o 用%s輸入字符串,輸入項(xiàng)是數(shù)組名。o 用%c輸出字符,輸出項(xiàng)是元素。o 用%s輸出字符串,輸出項(xiàng)是數(shù)組名。指針相關(guān)概念o 地址是指內(nèi)存中每個(gè)字節(jié)的具體編號(hào)。o 變量的地址是指特定存儲(chǔ)單元的首字節(jié)編號(hào)。o 變量名是表示特定變量地址的識(shí)標(biāo)符。o 指針就是地址。o 變量的指針即是變量的地址。o 指針變量則是專門用來存放地址的變量。指針變量的定義o 定義指針變量的一般形式為:基類型 * 指針變
18、量名;o 使用指針變量存放內(nèi)存中任意一個(gè)地址是沒有意義且危險(xiǎn)的。o 通常指針變量用來存放特定的某一變量的地址,使指針變量指向該特定變量。指針變量與變量o 若:int a=1;p=&a;(設(shè)a的地址為2000)o *p 表示a,1。o &*p 表示p、&a,2000。o *&a 表示a、*p,1。o +a 表示2。(僅是a自增)o +P 表示2004。o *p+ 表示先得到a,再使p更新為2004。o (*p)+ 表示a+(先用a,再a自增),2。指針變量與數(shù)組op=a=&a0; o*p=a0op+i=a+i=&aio*(p+i)=*(a+i)=a
19、i指針變量與數(shù)組元素o *(a+i)或*(p+i)o 若指針p指向a數(shù)組的第i個(gè)元素,則:*(p+)=ai+ ; *(p-)=ai- *(+p)=a+i ; *(-p)=a-i 指針變量與字符串o C語言將字符串常量按字符數(shù)組存放在內(nèi)存中,該數(shù)組沒有名字,不能用數(shù)組名引用,只能通過指針變量引用 。o 例如:char *string=“happy!”;(初始化)o 指針變量string存放的是字符串首字節(jié)地址,而不是整個(gè)字符串。指針變量與字符數(shù)組o 定義:char a=“hello”;char *p=“hello”;char a;a=“hello”;char *p;p=“hello”;o 輸入:
20、scanf(“%s”,a);scanf(“%s”,*p);scanf(“%s”,&a0); scanf(“%s”,p);o 輸出:printf(“%s”,a); printf(“%s”,*p);printf(“%s”,&a0); printf(“%s”,p);指針變量與字符數(shù)組名o 字符指針是變量,字符數(shù)組名是常量。char a=“hello”;char *p=“hello”;a=a+i;p=p+i;*a+;*p+;*(a+i);*(p+i);函數(shù)函數(shù)的執(zhí)行o 程序執(zhí)行從主函數(shù)開始,在主函數(shù)中結(jié)束的。o 主函數(shù)只能被系統(tǒng)調(diào)用,主函數(shù)執(zhí)行完后,流程返回操作系統(tǒng)。o 主函數(shù)可以調(diào)用
21、其他函數(shù),其他函數(shù)可以相互調(diào)用。被調(diào)函數(shù)執(zhí)行完后,流程返回主調(diào)函數(shù)的調(diào)用結(jié)束處。函數(shù)的調(diào)用o 函數(shù)語句print_start();被調(diào)函數(shù)只完成一定的操作,無返回值。o 函數(shù)表達(dá)式 c=max(a,b);被調(diào)函數(shù)的返回值參加表達(dá)式的運(yùn)算。o 函數(shù)參數(shù)c=max(max(a,b),c);被調(diào)函數(shù)的返回值作為另一被調(diào)函數(shù)的其中一個(gè)實(shí)參。函數(shù)的返回值o return語句將被調(diào)函數(shù)的返回值返回到主調(diào)函數(shù)的調(diào)用處。o 一個(gè)函數(shù)可以包含多條return語句。但一條return語句只能返回一個(gè)值。o 返回值類型應(yīng)與函數(shù)類型一致。如不一致,返回值自動(dòng)進(jìn)行類型轉(zhuǎn)換。o 函數(shù)定義為void(空類型),被調(diào)用時(shí)不返
22、回任何值,函數(shù)體內(nèi)不得出現(xiàn)return語句。函數(shù)的定義與聲明o 函數(shù)的定義對(duì)函數(shù)功能的確立,包括指定函數(shù)名,函數(shù)值類型、形參及其類型、函數(shù)體等,它是一個(gè)完整的、獨(dú)立的函數(shù)單位。o 函數(shù)的聲明把函數(shù)的名字、函數(shù)類型以及形參的類型、個(gè)數(shù)和順序通知編譯系統(tǒng),以便在調(diào)用該函數(shù)時(shí)系統(tǒng)按此進(jìn)行對(duì)照檢查。對(duì)被調(diào)函數(shù)的聲明o 被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù)。o 如調(diào)用庫函數(shù),應(yīng)用#include命令將所需頭文件“包含”到本文件中去。o 如調(diào)用自定義函數(shù),如被調(diào)函數(shù)的定義在主調(diào)函數(shù)之后,應(yīng)該在主調(diào)函數(shù)中對(duì)被調(diào)用的函數(shù)作聲明。o 對(duì)函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,則調(diào)用前可以不必加以聲明。函數(shù)的參數(shù)o 在定義函數(shù)
23、時(shí)函數(shù)名后括號(hào)中的參數(shù)為“形式參數(shù)”(簡(jiǎn)稱“形參”)。o 在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù),該函數(shù)名后括號(hào)中的參數(shù)為“實(shí)際參數(shù)”(簡(jiǎn)稱“實(shí)參”)。o 實(shí)參向形參的數(shù)據(jù)傳遞是“單向的”、“值傳遞”。o 形參與實(shí)參的類型必須相同。o 實(shí)參必須是確定的值,形參必須是變量。函數(shù)參數(shù)的傳遞o 實(shí)參(數(shù)值)常量、基本類型變量、數(shù)組元素o 形參(數(shù)值)基本類型變量o 實(shí)參(地址)變量地址、數(shù)組名、指針變量o 形參(地址)數(shù)組(數(shù)組名實(shí)際為指針變量)、指針變量八、變量的作用域和生存期作用域 作用域作用域局部變量局部變量全局變量全局變量自動(dòng)變量自動(dòng)變量靜態(tài)局部變量靜態(tài)局部變量寄存器變量寄存器變量靜態(tài)外部變量靜態(tài)外部變量
24、外部變量外部變量生存期生存期生存期動(dòng)態(tài)存儲(chǔ)動(dòng)態(tài)存儲(chǔ)靜態(tài)靜態(tài)存儲(chǔ)存儲(chǔ)自動(dòng)變量自動(dòng)變量寄存器變量寄存器變量靜態(tài)局部變量靜態(tài)局部變量外部變量外部變量形式參數(shù)形式參數(shù)靜態(tài)外部變量靜態(tài)外部變量存放位置存放位置存放位置靜態(tài)存儲(chǔ)區(qū)靜態(tài)存儲(chǔ)區(qū)動(dòng)態(tài)存儲(chǔ)區(qū)動(dòng)態(tài)存儲(chǔ)區(qū)靜態(tài)局部變量靜態(tài)局部變量靜態(tài)外部變量靜態(tài)外部變量自動(dòng)變量和形式參數(shù)自動(dòng)變量和形式參數(shù)寄存器變量寄存器變量外部變量外部變量CPU寄存器寄存器總結(jié)變量存儲(chǔ)類別函數(shù)內(nèi)函數(shù)外作用域存在性作用域存在性自動(dòng)變量和寄存器變量靜態(tài)局部變量靜態(tài)外部變量(本文件內(nèi))外部變量指針相關(guān)概念o 地址是指內(nèi)存中每個(gè)字節(jié)的具體編號(hào)。o 變量的地址是指特定存儲(chǔ)單元的首字節(jié)編號(hào)。o 變
25、量名是表示特定變量地址的識(shí)標(biāo)符。o 指針就是地址。o 變量的指針即是變量的地址。o 指針變量則是專門用來存放地址的變量。指針變量的定義o 定義指針變量的一般形式為:基類型 * 指針變量名;o 使用指針變量存放內(nèi)存中任意一個(gè)地址是沒有意義且危險(xiǎn)的。o 通常指針變量用來存放特定的某一變量的地址,使指針變量指向該特定變量。指針變量與變量o 若:int a=1;p=&a;(設(shè)a的地址為2000)o *p 表示a,1。o &*p 表示p、&a,2000。o *&a 表示a、*p,1。o +a 表示2。o +P 表示2004。o *p+ 表示先得到a,再使p更新為2004。
26、o (*p)+ 表示a+,2。指針變量與數(shù)組op=a=&a0; o*p=a0op+i=a+i=&aio*(p+i)=*(a+i)=ai指針變量與數(shù)組元素o *(a+i)或*(p+i)o 若指針p指向a數(shù)組的第i個(gè)元素,則:*(p+)=ai+ ; *(p-)=ai- *(+p)=a+i ; *(-p)=a-i 指針變量與字符串o C語言將字符串常量按字符數(shù)組存放在內(nèi)存中,該數(shù)組沒有名字,不能用數(shù)組名引用,只能通過指針變量引用 。o 例如:char *string=“happy!”;o 指針變量string存放的是字符串首字節(jié)地址,而不是整個(gè)字符串。指針變量與字符數(shù)組o 定義:char a=“hello”;char *p=“hello”;char a;a=“hello”;ch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 稻谷回收與再利用2025年度合作協(xié)議2篇
- 2025年智能硬件銷售代理合作協(xié)議書
- 2025年洗浴中心承包合同范本正規(guī)范全面保障3篇
- 2025年分期手機(jī)配件購買合同
- 2025年分期付款水電煤氣費(fèi)繳納協(xié)議
- 2025年商用車的保險(xiǎn)索賠協(xié)議
- 2025年度臨建施工臨時(shí)消防設(shè)施建設(shè)合同4篇
- 2025版煤礦安全生產(chǎn)培訓(xùn)與考核承包合同4篇
- 2025版旅行社與旅游特色餐飲合作框架協(xié)議3篇
- 2025年借殼上市協(xié)議條款范本格式模板設(shè)計(jì)
- 施工現(xiàn)場(chǎng)水電費(fèi)協(xié)議
- SH/T 3046-2024 石油化工立式圓筒形鋼制焊接儲(chǔ)罐設(shè)計(jì)規(guī)范(正式版)
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測(cè)驗(yàn))綜合能力測(cè)試題及答案1套
- 六年級(jí)數(shù)學(xué)質(zhì)量分析及改進(jìn)措施
- 一年級(jí)下冊(cè)數(shù)學(xué)口算題卡打印
- 真人cs基于信號(hào)發(fā)射的激光武器設(shè)計(jì)
- 【閱讀提升】部編版語文五年級(jí)下冊(cè)第三單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 四年級(jí)上冊(cè)遞等式計(jì)算練習(xí)200題及答案
- 法院后勤部門述職報(bào)告
- 2024年國信證券招聘筆試參考題庫附帶答案詳解
- 道醫(yī)館可行性報(bào)告
評(píng)論
0/150
提交評(píng)論