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

正文內(nèi)容

經(jīng)典c語(yǔ)言譚浩強(qiáng)版第十章。指針(已修改)

2025-05-30 23:25 本頁(yè)面
 

【正文】 第十章 指針 地址和指針的概念 指針定義和引用 指針與數(shù)組 指針與字符串 167。 地址和指針的概念 一、數(shù)據(jù)的存取 內(nèi)存地址 內(nèi)存的每個(gè)字節(jié)都有一個(gè)編號(hào),這個(gè)編號(hào)稱為“ 內(nèi)存地址 ”。 … 低地址 高地址 2021 2021 2021 3000 程序中的每個(gè)數(shù)據(jù)都對(duì)應(yīng)著內(nèi)存中的一個(gè)地址,從該地址開始的一個(gè)或多個(gè)字節(jié)用來(lái)存放該數(shù)據(jù)。 int i, j, k。 i j k 內(nèi)存單元的地址和內(nèi)存單元的內(nèi)容的區(qū)別: 若 i=3, j=5。 00000011 00000000 00000101 00000000 從圖中可以看出它們的區(qū)別。 程序編譯后已經(jīng)沒有 i、 j、 k這些變量名了,而是將變量名轉(zhuǎn)換為變量的地址,計(jì)算機(jī)通過(guò)內(nèi)存地址對(duì)變量進(jìn)行存取。 二、直接訪問和間接訪問 直接訪問方式: … 低地址 高地址 2021 2021 2021 3000 i j k 00000011 00000000 00000101 00000000 ①、 i=3。 ②、 j=i+2。 ③、 printf(%d, i)。 ④、 scanf(%d, amp。i)。 ⑤、 k=i+j。 如何執(zhí)行? 00001000 00000000 按變量的地址存取變量的方式 間接訪問方式: C語(yǔ)言中可以定義整型變量、實(shí)型變量、字符型變量,各自存放相應(yīng)類型的數(shù)據(jù);另外還可以定義和使用一種特殊類型的變量, 用來(lái)存放變量的地址 。 … 低地址 高地址 2021 2021 2021 3000 i j k 00000011 00000000 00000101 00000000 00001000 00000000 假設(shè)已經(jīng)定義變量 ip 用來(lái)存放整型變量的地址,它被分配到內(nèi)存單元3000和 3001。 ip 通過(guò)執(zhí)行語(yǔ)句: ip=amp。i。 將整型變量i 的地址存放到變量 ip中,即 ip的值為變量 i所對(duì)應(yīng)的內(nèi)存單元的起始地址 2021。 2021 現(xiàn)在要存取 i的值可以這樣做:先找到存放 i的地址的內(nèi)存單元地址 (3000和 3001),從中取出變量 i的地址 (2021),然后再對(duì) 2021和 2021單元進(jìn)行存取 ——這就稱為 間接訪問 。 關(guān)于“指向”的含義: 變量 ip的值為 2021,即變量 i的地址,這樣就在 ip和 i之間建立了一種聯(lián)系: 通過(guò)變量 ip知道變量 i的地址,從而找到變量 i的內(nèi)存單元,因此說(shuō)變量 ip指向變量 i, 用箭頭表示這種“指向”關(guān)系。 2021 3000 ip 2021 i 為了表示將數(shù)值 10送到變量 i中,可以有兩種表示方法: ①、將 10送到變量 i所標(biāo)志的單元中; 2021 i 10 ②、將 10送到變量 ip所指向的單元中; 2021 3000 ip 2021 i 10 三、指針與指針變量 通過(guò)地址能找到所需的變量單元,可以說(shuō):地址“指向”該變量單元。因此,把一個(gè) 變量的地址 稱為該 變量的“指針” 。 … 低地址 高地址 2021 2021 2021 3000 i j k 00000011 00000000 00000101 00000000 00001000 00000000 ip 2021 如果一個(gè)變量專門用來(lái)存放另一個(gè)變量的地址,則稱它為“ 指針變量”。指針變量的值(即指針變量中存放的值)是指針(地址)。 注意區(qū)分“指針”和“指針變量”這兩個(gè)概念。 四、說(shuō)明 ①、程序中定義的每個(gè)變量在編譯后都占有各自的內(nèi)存單元,系統(tǒng)是通過(guò)內(nèi)存地址對(duì)變量進(jìn)行存取的; ②、數(shù)據(jù)所占有的內(nèi)存單元個(gè)數(shù)是由其數(shù)據(jù)類型決定的; ③、首地址:即第一個(gè)單元的地址; ④、表示地址的數(shù)與整數(shù)的區(qū)別; ⑤、變量 i、 j的地址可能相鄰,也可能不相鄰,是由系統(tǒng)分配的,我們不必關(guān)心。 167。 指針變量的定義和引用 概述 指針運(yùn)算符: * 為了表示指針變量和它所指向的變量之間的聯(lián)系, 用“ *”表示 指向 的關(guān)系 。 如: ip代表指針變量, *ip表示 ip所指向的變量。即 *ip也代表一個(gè)變量。 例: ①、若: ip=amp。i; i=5。 *ip=5。 結(jié)論: *ip與 i等價(jià) 。 ②、 x=i+1; x=*ip+1。 取地址運(yùn)算符: amp。 它與一個(gè)變量連用,以得到該變量的內(nèi)存地址。 說(shuō)明: ①、取地址運(yùn)算符只能作用于變量: amp。x, amp。a[5]。 不能作用于常量、表達(dá)式或寄存器變量: amp。25, amp。(i+1)。 ②、不能把整數(shù)賦值給一個(gè)指針變量: ip=3000。 ③、不能把一個(gè)指針變量的值賦值給一個(gè)整型變量: x=ip。 指針變量的定義與賦值 一、指針變量的定義 格式: 類型名 *指針變量名 其中:①、“ *”表示定義的是指針變量; ②、“類型名”用來(lái)指定該指針變量可以指向的變量的類型; 例: int i, *ip。 int *p1, *p2。 float x, *xp。 char *cp1, *cp2。 說(shuō)明: ①、“ *”只表示定義的變量為指針變量,但指針變量名中并不包含“ *”; *是指針變量的標(biāo)志,不可丟掉; ②、指針變量定義時(shí),指定了它所指向的變量的數(shù)據(jù)類型; ip=amp。i。 p1=amp。i。 xp=amp。i。 cp1=amp。x。 xp=amp。x。 指針變量定義時(shí)必須指定其所指向的變量的數(shù)據(jù)類型,而且 使用過(guò)程中只能指向同一種類型的變量 。 ③、指針變量定義后,系統(tǒng)為變量分配一個(gè)存儲(chǔ)單元,用來(lái)存放地址。 ④、指針變量定義后,若不賦值,其值是不確定的。 二、指針變量的賦值 賦值語(yǔ)句: int i, j, *p1, *p2。 p1=amp。i。 p2=amp。j。 char ch, *cp1, *cp2。 cp1=amp。ch。 cp2=amp。ch。 初始化: int x=4。 int x。 x=4 int i, *p1=amp。i。 int i, *p1。 p1=amp。i。 說(shuō)明 : ①、指針變量定義后,若不賦值,其值是不確定的; ②、可以給指針變量賦空值 (NULL), 使指針變量 不指向任何變量 ; ip=NULL。 ③、指針變量的值為空值 (NULL)與未對(duì)指針變量賦值,意義不同; ④、只能是同類型變量的地址進(jìn)行賦值; int i, *ip。 char ch, *cp。 ip=amp。i。 cp=amp。ch。 ip=amp。ch。 cp=amp。i。 ⑤、可以將數(shù)組名賦給某些類型的指針變量; int a[10], *ip。 ip=amp。a[0]。 ip=a。 ⑥、不能將一個(gè)整型量 (或任何其它非地址類型的數(shù)據(jù) )賦給一個(gè)指針變量; int *ip。 ip=3000。 分析有關(guān)指針的程序時(shí),畫圖是很好的方法 : 若有: int i, *p。 p=amp。i。 i=5。 p。不定 i 不定 p amp。i 5 指針變量的引用 int a, *p1, *p2。 p1=amp。a。 printf(“%x”, p1)。 p1? p2=p1。 *p1=3。 printf(%d, *p1)。 a, 不定 a 不定 p1 不定 p2 amp。a % , 。 amp。a 3 兩個(gè)運(yùn)算符: amp。和 * amp。:取地址運(yùn)算符; *:指針運(yùn)算符 (間接訪問符 ); 說(shuō)明: ①、 amp。既可作用于一般變量,也可作用于指針變量; ②、 *只能作用于指針變量; ③、 表達(dá)式中的 *p與 變量定義中的 *p含義不同; int i, *p=amp。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1