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

正文內(nèi)容

指針_計(jì)算機(jī)基礎(chǔ)知識(shí)-wenkub

2022-09-11 09:33:06 本頁(yè)面
 

【正文】 ,int *p2) {int temp。 pointer_2=amp。a,amp。 *p1=9, *p2=5 a=5, b=9 .3 指針變量作為函數(shù)參數(shù) 例 10 . 3 交換兩個(gè)變量的值 include main() {void swap(int *p1,int *p2)。b amp。a p=p1。 p2=p。 amp。 amp。 printf(a=%d,b=%d\n,a,b)。 if (ab) {p=p1。 p1=amp。 include main() {int a,b,*p1,*p2,*p。p2=p。 p2=amp。a,amp。 printf(%d,%d\n,*pointer_1, *pointer_2)。a。 int *pointer_1,*pointer_2。 說(shuō)明 : (1)定義指針變量后 ,變量沒(méi)指向任何存貯單元 ,要通過(guò)賦值語(yǔ)句來(lái)確定它所指向的存貯單元 (2)amp。a。 或 (2) p=q。//讓 p指向 q所指向的存貯單元 a q 10 指針變量的引用 int *p,*q。 int a=10。 int * pointer_1。 例 : float *pointer_1; 指針變量名是 pointer_1 ,而不是 * pointer_1 。 ④ 在定義一個(gè)變量時(shí),將變量的指針 (即地址 ) 直接賦給指針變量: int x, ?p=amp。i amp。i 。i。) 將一個(gè)變量的地址賦給一個(gè)指針變量。與 *互為逆運(yùn)算 , 當(dāng) ?與 amp。 的作用是 p1=amp。(*p1)與 amp。(*p) ( 3) amp。a == *(amp。為 同級(jí) 運(yùn)算符,結(jié)合性 從 右至左 。a 5 p a *p *amp。 *p=5; ( 1) amp。 p2=amp。//基類型是 int 下面都是合法的定義: float *pointer_3; char *pointer_4; 指針變量的引用 ( 1) 指針變量只能存放地址,不能將整型數(shù)據(jù)、字符型數(shù)據(jù)、實(shí)型數(shù)據(jù)等非地址類型的數(shù)據(jù)賦值給指針變量。 ?指針 : 一個(gè)變量的地址稱為該變量的指針。25 amp。 } 說(shuō)明: ① 輸出的地址值 用 4位十六進(jìn)制數(shù)表示 。 printf(“address of d is%x\n”,amp。 printf(“address of b is%x\n”,amp。double c=3。) 每個(gè)變量 /數(shù)組都有一個(gè)內(nèi)存地址 , 在何地址一般無(wú)法預(yù)測(cè) 。 – 內(nèi)存是一個(gè)連續(xù)編址的空間 , 每一個(gè)存儲(chǔ)單元都有一個(gè)固定的編號(hào) , 這個(gè)編號(hào)稱為 地址 。指針的故事 ? “該程序執(zhí)行了非法操作,即將關(guān)閉 ” –這種錯(cuò)誤幾乎全是由指針和數(shù)組導(dǎo)致的 ? 黑客攻擊服務(wù)器利用的 bug絕大部分都是指針和數(shù)組造成的 主要內(nèi)容 指針變量 地址 內(nèi)存中每一個(gè)字節(jié)的存貯單元都有一個(gè)編號(hào),這個(gè)編號(hào)就是“ 地址 ” 。 – 地址 是一個(gè)無(wú)符號(hào)整數(shù) ( 通常用 16進(jìn)制數(shù) ) ,其字長(zhǎng)與主機(jī)相同 例如: 已定義了一個(gè)整型數(shù)組 d[6]。 可通過(guò)求地址運(yùn)算得到 。 int d[6]={1,2,3,4,5,6}。b)。d)。 ② amp。(x+y)均是錯(cuò)誤的 ? 采用訪問(wèn)地址的方法存取數(shù)據(jù),速度快,效率高。 ?指針變量: 若一個(gè)變量專用于存放另一個(gè)變量 的地址(指針),則該變量稱為指 針變量。 ( 2) 指針變量只能指向同一類型的變量。h。a 表示取 a變量的地址 。a amp。 當(dāng)執(zhí)行了 p= amp。a) 指針: p= =amp。*p 等價(jià)于 amp。a等價(jià)。a。連續(xù)在一起時(shí),具有抵消作用 : *amp。 int i, ?p 。 ? 將一個(gè)指針變量賦給另一個(gè)同類型的指針變量。 pj=pi 。i ? 給指針變量 (pi)賦“空”值: a. pi=NULL。x。 (2) 在定義指針變量時(shí)必須指定基類型。 pointer_1=amp。 (1)q=amp。 int a=10。//讓 p指向 q所指向的存貯單元 a q 10 指針變量的引用 int *p,*q。 或 (2) p=q。,*的優(yōu)先級(jí)相同 ,結(jié)合方向自右向左 ,為互逆操作 amp。 a=100。 /*把變量 a的地址賦給 pointer_1 */ pointer_2=amp。 } 100 10 例 10 . 2 輸入a和b兩個(gè)整數(shù),按先大后小的順序輸出 a和b。b)。b。} printf(*p1=%d,*p2=%d\n,*p1,*p2)。 scanf(%d%d,amp。a。p1=p2。 } a,b的值沒(méi)發(fā)生變化 !!! p=p1。a p=p1。a amp。 amp。 p1=p2。a p=p1。 int a,b。b)。b。 temp=*p1。 temp=*p1。 temp=*p1。 temp=*p1。 temp=p1。 temp=p1。 temp=p1。 temp=p1。 temp=p1。a amp。 *p i,*p void swap(int *p,int *q) 例 輸入a ,b ,c 3個(gè)整數(shù),按從大到小順序輸出 include void main() { void exchange(int *q1, int *q2, int *q3)。b,amp。p2=amp。 exchange (p1,p2,p3)。 if(*q1*q3) swap(q1,q3)。 *pt1=*pt2。所謂 數(shù)組元素的指針就是數(shù)組元素的地址 。a[i] *( ) .2通過(guò)指針引用數(shù)組元素 引用一個(gè)數(shù)組元素,可以用: (1) 下標(biāo)法,如 a[i]形式或 p[i](但要先執(zhí)行 p=a ); (2) 指針?lè)?,?*(a+i)或 *(p+i)。要輸出各元素的值有三種方法: (1)下標(biāo)法。 (1)下標(biāo)法。i10。 for (i=0。 main() {int a[10]。i++) scanf(“%d”,amp。 for (i=0。 main() {int a[10]。i++) scanf(“%d”,amp。i10。 int i ,*p。a[i])。i10。 int *p。i++) scanf(%d,amp。p++) printf(%d,*p)。 for(i=0。 for( p=a+9。 main() {int a[10], *p, i。i++) scanf(%d,p++)。 } main() {int a[10], *p, i。i++) scanf(“%d”,p++)。i++,p++) printf(“%d”,*p)。 int i。i++) printf(%3d,a[i])。 m=n/2。ix+m。 } } 對(duì)剛才的程序可以作一些改動(dòng)。j=x+n1。 *i=*j。例如: void main() void f( int *x, int n) { int a[10] , *p=a。 max=min=*array。p++) if(*pmax) max=*p。 printf(max=%3d,min=%3d\n,max,min)。 p =a。 p p+i …… a 1. 多維數(shù)組元素的地址 先回顧一下多維數(shù)組的性質(zhì) ,可以認(rèn)為二維數(shù)組是“數(shù)組的數(shù)組”,例 : 定義 int a[ 3][ 4] ={{1, 3, 5, 7},{9,11,13,15},{17,19,21,23} }; 則二維數(shù)組 a是由 3個(gè)一維數(shù)組所組成的。a[1],amp。a[1][0],amp。a[2][2] a[i]+j (3)amp。a[i] *(a+i)+j (4)amp。a[i] *(*(a+i)+j) (5) a[i][j] *(a+i) == a[i] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i與 *(a+i)有什么區(qū)別 ? 小結(jié) (1)a,a+1,a+2分別代表 amp。a[0][0],amp。a[i][j] (5)*(*(a+i)+j)代表 a[i][j] a[i]從形式上看是一維數(shù)組的第 i個(gè)分量 ,但當(dāng) a為二維數(shù)組時(shí) ,a[i]只代表一個(gè)地址 (1)用指針變量輸出數(shù)組元素的值 main() {int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}。a[0][0])。 printf(%4d,*p)。 int i,j,(*p)[4]。j)。 main() {void average(float *p,int n)。 search(score,2)。 p_end=p+n1。 avg=sum/n。 for(i=0。 for(i=0。j4。j4。 printf(“%s\n”,str)。 等價(jià)于 char *str。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1