中職C語言程序設(shè)計(jì)案例教程第6章 指針(1-2節(jié))教學(xué)課件()_第1頁
中職C語言程序設(shè)計(jì)案例教程第6章 指針(1-2節(jié))教學(xué)課件()_第2頁
中職C語言程序設(shè)計(jì)案例教程第6章 指針(1-2節(jié))教學(xué)課件()_第3頁
中職C語言程序設(shè)計(jì)案例教程第6章 指針(1-2節(jié))教學(xué)課件()_第4頁
中職C語言程序設(shè)計(jì)案例教程第6章 指針(1-2節(jié))教學(xué)課件()_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

(中職)C語言程序設(shè)計(jì)案例教程第6章指針(1-2節(jié))教學(xué)課件(工信版)CONTENTS目錄016.1指針變量的概念和指針變量的定義026.2指針變量的引用本節(jié)要點(diǎn):理解指針變量的概念。掌握指針變量的定義。掌握指針變量的引用。PART6.1

指針變量的概念和指針變量的定義

指針概述:C語言中的重要概念之一是指針,指針也是C語言的一個(gè)重要特色之一。復(fù)雜的數(shù)據(jù)結(jié)構(gòu)可以通過指針靈活、有效地表示。還能動(dòng)態(tài)使用內(nèi)存,方便地使用字符串,有效而方便地使用數(shù)組。在調(diào)用函數(shù)時(shí),以指針為返回值,能得到多于1個(gè)的值。使用指針能直接處理內(nèi)存地址等,這對(duì)設(shè)計(jì)系統(tǒng)軟件是很必要的。掌據(jù)指針的應(yīng)用,可以使程序簡(jiǎn)潔、緊湊、高效。AB一個(gè)變量的地址稱為該變量的“指針”。

內(nèi)存用戶數(shù)據(jù)區(qū)

20003變量i20026變量j20049變量k

30102000變量i_pointer

圖6-1內(nèi)存數(shù)據(jù)區(qū)示意圖6.1.1指針變量的概念6.1.2指針變量的定義圖6-2直接訪問變量和間接訪問變量示意圖i200032000ii_pointer32000如果想把3這個(gè)值存放入變量i中,可以如左圖直接賦值,a=3;稱為直接訪問,也可以通過i的地址存放的指針變量i_pointer,把3這個(gè)數(shù)字存放入變量i中。6.1.2指針變量的定義定義指針變量的格式:數(shù)據(jù)類型符*指針變量名1,*指針變量名2,…,*指針變量名n;例如:int*pointer_1,*pointer_2;float*pointer_3;char*pointer_4;指針與變量:AB(1)取地址運(yùn)算符“&”

通過對(duì)變量進(jìn)行取地址運(yùn)算,獲得變量的存儲(chǔ)地址。取地址運(yùn)算符“&”的格式:&變量名例如:&i取變量i的地址。例如:&i取變量i的地址。

例:6-1:取地址運(yùn)算符“&”應(yīng)用實(shí)例,運(yùn)行程序顯示變量i的存儲(chǔ)地址和i的值。#include<stdio.h>voidmain(){inti=3;printf("變量i的地址是:%d,i的值是:%d\n",&i,i);}指針與變量:AB(2)給指針變量賦值在程序中可以通過賦值語句給指針變量賦值。給指針變量賦值格式:指針變量=變量地址;例如:inti,*pi;/*定義整型變量i及指向整型數(shù)據(jù)的指針變量pi*/pi=&i;/*使指針變量pi指向i的存儲(chǔ)單元*/

例:6-2:給指針變量賦值應(yīng)用實(shí)例,運(yùn)行程序?qū)⒅羔樧兞縫i指向變量i,并輸出i的值。#include<stdio.h>voidmain(){inti=3,*pi;pi=&i;printf("變量i=%d,*pi=%d\n",i,*pi);}說明:在程序中“*指針變量名”表示取得指針?biāo)赶虻淖兞康闹?。指針與變量:AB(3)在聲明語句中,定義變量后,就可以直接取得變量地址賦給指針變量,讓指針變量指向變量。格式:數(shù)據(jù)類型符變量名,指針變量=&變量名;例如:inta=7,b=5,c,*pa=&a,*pb=&b;

例:6-3:給指針變量賦值應(yīng)用實(shí)例,變量地址賦給指針變量。#include<stdio.h>voidmain(){inta=7,b=5,c,*pa=&a,*pb=&b;c=*pa+*pb;/*取出a,b的值,相加后將結(jié)果賦給變量c,等價(jià)于c=a+b*/printf("變量a=%d,指針*pa=%d\n",a,*pa);printf("變量b=%d,指針*pb=%d\n",b,*pb);printf("%d+%d=%d\n",a,b,c);printf("%d+%d=%d\n",*pa,*pb,c);}指針與變量:A(4)空指針的概念一個(gè)不指向任何存儲(chǔ)單元的指針稱之為空指針,空指針的值為ASCII碼表中的NULL值,也是0值。PART6.2指針變量的引用指針與變量:定義指針變量的例子:例如:inta,*pa;定義整型變量a,又定義一個(gè)指向整型數(shù)據(jù)的指針變量pa。pa=&a;使指針變量pa指向a的存儲(chǔ)單元。floatx,y,*pf=&x;定義浮點(diǎn)型變量x、y及一個(gè)指向浮點(diǎn)型數(shù)據(jù)的指針變量pf,使指針變量pf指向x的存儲(chǔ)單元。指針變量中只能用于存儲(chǔ)變量的地址,不可將一個(gè)整型常量賦給一個(gè)指針變量。例如:pi=1000;是非法的。標(biāo)題&為取地址運(yùn)算符,*是間接訪問運(yùn)算符。例如:&a可以取得變量的地址,*pa是指針pa所指向變量存儲(chǔ)單元的值。標(biāo)題指針變量:(1)類型說明符說明的是指針變量所指向的數(shù)據(jù)類型。不能由不同類型的指針變量替代。(2)指針變量名也是由標(biāo)識(shí)符來充當(dāng)?shù)摹?3)指針變量的初始化要遵循“先說明、后使用”的原則。(4)如果已執(zhí)行了pa=&a;語句,若有&*pa,所表達(dá)的含義是變量a的地址,因“&”“*”有相同的運(yùn)算優(yōu)先級(jí),按自右向左的方向接合,*pa就是pa所指向的變量a,&*pa與&a的作用相同,就是取得了變量a的地址。同樣的*&a的結(jié)合方法與&*pa相同,也按從右向左的順序結(jié)合,*&a與變量a的作用相同。(5)*pa++在執(zhí)行時(shí),因“*”和“++”為同一優(yōu)先級(jí)別,結(jié)合方向?yàn)樽杂叶蟮模喈?dāng)于*(pa++),因pa++為后置運(yùn)算,所以該運(yùn)算先取*pa所指向的變量a,再讓pa++指向下一個(gè)存儲(chǔ)單元,而不再指向變量a。如果要通過指針使變量a自增,則需要將它表示為(*pa)++,增加括號(hào),不讓產(chǎn)生歧義。添加標(biāo)題單擊此處添加文本添加標(biāo)題添加標(biāo)題添加標(biāo)題添加標(biāo)題單擊此處添加文本添加標(biāo)題添加標(biāo)題添加標(biāo)題添加標(biāo)題單擊此處添加文本添加標(biāo)題添加標(biāo)題添加標(biāo)題

例:6-4:指針變量的引用實(shí)例,使用指針編寫程序,輸入a和b兩個(gè)整數(shù),按先大后小的順序輸出a和b。#include<stdio.h>voidmain(){int*pa,*pb,*p,a,b;printf("請(qǐng)輸入兩個(gè)整數(shù)");scanf("%d%d",&a,&b);pa=&a;pb=&b;if(a<b){p=pa;pa=pb;pb=p;}printf("a=%d,b=%d\n",a,b);printf("從大到小輸出兩個(gè)整數(shù):%d,%d\n",*pa,*pb);}指針變量:1210010&bppa&apbab10010&appa&bpba

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論