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

正文內(nèi)容

[理學]c語言課件(1)(已修改)

2024-10-31 00:31 本頁面
 

【正文】 第 8章 指 針 指針的基本知識 指針與數(shù)組 指針與字符串 指針數(shù)組與多級指針 指針與函數(shù) 程序中 : short i。 float k。 內(nèi)存中每個字節(jié)有一個編號 地址 …... …... 2021 2021 2021 2021 內(nèi)存 0 2021 i k 編譯或函數(shù)調(diào)用時為其分配內(nèi)存單元 變量 是對程序中數(shù)據(jù) 存儲空間的抽象 內(nèi)存單元、內(nèi)存地址及指針 指針的基本知識 ?指針就是存儲單元的 地址 。 ?一個變量的指針就是該變量在內(nèi)存中的存儲單元的地址。 ?存取變量中的數(shù)據(jù) ?直接引用 : 按變量名稱存取變量值的方式。 ?間接引用 : 將某變量 a 的指針 (地址 )放在另一個變量 pa中 , 通過對變量 pa的值 (a變量的地址 ),由此地址存取變量 a的方式。 109 10001: a 109 10001: a 10001 pa …... …... 2021 2021 2021 2021 整型變量 i 10 變量 i_pointer 2021 2021 2021 指針變量定義 ?指針:一個變量的地址 ?指針變量:專門存放變量地址的變量 2021 指針 指針變量 變量的 內(nèi)容 變量的 地址 指針變量 變量 變量地址 (指針 ) 變量值 指向 地址存入 指針變量 ?一般形式: 類型標識符 *指針名; 合法標識符 指針的目標變量的數(shù)據(jù)類型 表示定義指針變量 不是‘ *’運算符 例 int *p1,*p2。 float *q 。 static char *name。 注意: int *p1,*p2。 與 int *p1,p2。不同,每一個指針變量前有 * 指針變量名是 p1,p2 ,不是 *p1,*p2 指針變量只能指向定義時所規(guī)定類型的變量 int *p,a。 char c。 float x。 p只能指向 a,不能指向 c或 x。 指針變量定義后, 變量值不確定 即 指向不確定,稱為 懸掛指針 ,不能間接引用懸掛指針。 應用前必須先賦值 指針變量只能存放地址 ,不能存放非地址類型數(shù)據(jù)。 如語句 int *p。 p=1000。 不合法; (內(nèi)存空間的實際分配由操作系統(tǒng)負責)。 ?指針變量的定義 ?指針變量的初始化 一般形式: 數(shù)據(jù)類型 *指針名 =初始地址值 ; 例 int i。 int *p=amp。i。 變量必須 已定義過 類型 應一致 例 int *p=amp。i。 int i。 例 int i。 int *p=amp。i。 int *q=p。 用已初始化指針變量作初值 例 int i。 int *p=amp。i。 int *q。 q=p。 指針基本操作 ?amp。與 *運算符 ? 含義 含義 : 取變量的地址 單目運算符 優(yōu)先級 : 2 結合性 :自右向左 含義 : 取指針所指向變量的內(nèi)容 單目運算符 優(yōu)先級 : 2 結合性 :自右向左 ? 兩者關系:互為 逆運算 ? 理解 …... …... 2021 2021 2021 2021 整型變量 i 10 變量 i_pointer 2021 2021 2021 2021 指針變量 i_pointer指針變量,它的內(nèi)容是地址量 *i_pointer指針的 目標變量 ,它的內(nèi)容是數(shù)據(jù) amp。i_pointer指針變量占用內(nèi)存的地址 2021 10 i_pointer *i_pointer amp。i_pointer i i_pointer amp。i amp。(*i_pointer) i *i_pointer *(amp。i) i_pointer = amp。i = amp。(*i_pointer) i = *i_pointer = *(amp。i) ?直接訪問與間接訪問 ?直接訪問:按變量名稱存取變量值 ?間接訪問:通過存放變量地址的變量去訪問變量 例 i=3。 直接訪問 指針變量 …... …... 2021 2021 2021 2021 整型變量 i 10 變量 i_pointer 2021 2021 2021 2021 3 例 *i_pointer=20。 間接訪問 20 例 取地址運算符 amp。和指針運算符 *的簡單使用 。 include void main() { int a=100,*pa。 pa=amp。a。 //把變量 a的地址賦給 pa printf(a=%d, *pa=%d\n,a,*pa)。 *pa=200。 //給 pa所指向的變量賦值 printf(a=%d, *pa=%d\n,a,*pa)。 *pa+=1。 //pa所指向的變量 +1 printf(a=%d, *pa=%d\n,a,*pa)。 } 程序運行: a=100, *pa=100 a=200, *pa=200 a=201, *pa=201 100 2021: a ? pa 2021 200例 用指針變量使指針所指向的變量交換值 。 include void main() { int a=10,b=20,t。 int *p1=amp。a,*p2=amp。b。 printf(a=%d,b=%d,*p1=%d,*p2=%d\n,a,b,*p1,*p2)。 t=*p1。*p1=*p2。*p2=t。 printf(a=%d,b=%d,*p1=%d,*p2=%d\n,a,b,*p1,*p2)。 } 程序運行: a=10,b=20,*p1=10,*p2=20 a=20,b=10,*p1=20,*p2=10 10 1001: a 1001 p1 20 1012: b 1012 p2 10011012 如果上述程序中改成: int *t。 t=p1。 p1=p2。 p2=t。 則運行結果 1 2例 main( ) { int i=10。 int *p。 *p=i。 printf(“%d”,*p)。 } 編譯時有 warning, 執(zhí)行時導致錯誤! 例 main( ) { int i=10,k。 int *p。 p=amp。k。 *p=i。 printf(“%d”,*p)。 } 注意: 指針變量必須 先賦值 ,再使用 …... …... 2021 2021 2021 2021 整型變量 i 10 指針變量 p 2021 2021 2021 隨機 ?指針的運算 ?指針變量的賦值運算 int a,array[10],i=2,*p1,*p2。 char c,*q1=amp。c,*q2。 ?p1=amp。a。 (將變量 a地址 ?p1) ?p1=array。 (將數(shù)組 array首地址 ?p1) ?p1=amp。array[i]。 (將數(shù)組元素地址 ?p1) ?p1=p2。 (指針變量 p2值 ?p1) ?p1=q1。 (錯誤! 不同類型的指針不能賦值 ) ?不能把一個整數(shù) ?p,也不能把 p的值 ?整型變量 如 int i, *p。 p=1000。 (?) i=p。 (?) ?指針的算術運算: ?p?i ? p ?i?d (i為整型數(shù), d為 p指向的變量所占字節(jié)數(shù) ) ?p++, p, p+i, pi, p+=i, p=i等 ?若 p1與 p2指向同一數(shù)組, p1p2=兩指針間元素個數(shù) ?(p1p2)/d ?p1+p2 無意義 例 p指向 float數(shù),則 p+1 ? p+1 ?4 例 p指向 int型數(shù)組,且 p=amp。a[0]。 則 p+1 指向 a[1] 例 int a[10]。 int *p=amp。a[2]。 p++。 *p=1。 例 int a[10]。 int *p1=amp。a[2]。 int *p2=amp。a[5]。 則: p2p1=3。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a數(shù)組 p p+1,a+1 p+i,a+i p+9,a+9 1 ?指針變量的關系運算 ?若 p1和 p2指向同一數(shù)組,則 ? p1p2 表示 p1指的元素在前 ? p1p2 表示 p1指的元素在后 ? p1==p2 表示 p1與 p2
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1