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

正文內(nèi)容

[it認(rèn)證]c語言第11講指針(編輯修改稿)

2025-02-15 08:44 本頁面
 

【文章內(nèi)容簡介】 n(int a,int b) fun為指針函數(shù); int (*pa)()。 pa為函數(shù)指針; int *p,x。 則:下列語句成立: x=max(5,8)。 函數(shù)返回值為整型 pa=max。 等號左右都有兩個含義:地址和函數(shù) x=(*pa)(5,8)。 p=fun(5,8) 返回值為指針 167。 指針與數(shù)組 指向數(shù)組元素的指針變量 幾個概念 ①、一個變量有地址,稱變量的地址為該變量的 指針 ; ②、每個數(shù)組都有一個起始地址,數(shù)組的起始地址稱為 數(shù)組的指針 ; ③、一個數(shù)組包含若干元素,每個數(shù)組元素都在內(nèi)存中占用一定的存儲單元,即都有相應(yīng)的地址,數(shù)組元素的地址稱為 數(shù)組元素的指針 ; ④、指針變量可以指向變量,當(dāng)然也可以指向數(shù)組和數(shù)組元素; ⑤、 數(shù)組元素的指針變量 就是專門用來存放數(shù)組元素地址的變量。 定義: 類型名 *指針變量名 int a[10]。 int *p。 int a[10], *p。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a 不定 p 賦值: p=amp。a[0]。 amp。a[0] 說明: ①、C語言中的數(shù)組名代表數(shù)組首地址,即第 0號元素的地址; p=amp。a[0]。 p=a。 ②、定義時可以進(jìn)行初始化: int *p=amp。a[0]。 int *p。 p=amp。a[0]。 int *p。 *p=amp。a[0]。 int *p=a。 通過指針訪問一維數(shù)組 數(shù)組元素的引用: int a[10], *p。 p=a。 *p=5。 a[0]=5。 p=amp。a[3]。 *p=5。 a[3]=5。 C語言規(guī)定:無論數(shù)組的數(shù)據(jù)類型如何,若指針變量 p已指向數(shù)組中的某一元素,則 p+1指向同一數(shù)組中的下一個元素(而不是將 p簡單的加 1) 例如: ①、 int x[10], *p=x。 對于指向 整型數(shù)組 的指針變量 p, p+1意味著使 p在原值的基礎(chǔ)上加 2個字節(jié) ,以使它指向下一元素; ②、 float x[10], *p=x。 對于指向 float型數(shù)組 的指針變量 p, p+1意味著使 p在原值的基礎(chǔ)上加 4個字節(jié) ,以使它指向下一元素; 總之: 設(shè) d是一個數(shù)組元素所占的字節(jié)數(shù),則 p+i表示指針移動了 i個元素,而它實(shí)際的地址變化為: p+i*d。 在使用指針變量引用數(shù)組時,應(yīng)注意以下問題: ①、給指針賦初值的方法: p=a。 或 p=amp。a[0]。 ②、 p+1或 a+1實(shí)際上表示數(shù)組元素 a[1]的地址 (amp。a[1]); 則 p+i或a+i表示數(shù)組的第 i個元素的地址 (amp。a[i]); ③、 *(p+i)或 *(a+i)表示 p+i或 a+i所指向的數(shù)組元素,即 a[i]; ④、指向數(shù)組的指針變量也可以帶下標(biāo);如: p[i]與 *(p+i)等價; ⑤、 若 p已經(jīng)指向某個數(shù)組元素 a[i], 則 p+j表示指向數(shù)組元素 a[i+j]。 綜上,可以用兩種方法來引用一個數(shù)組元素: ①、 下標(biāo)法 :用 a[i]或 p[i]來引用數(shù)組 a中的第 i號元素; ②、 指針法 :用 *(p+i)或 *(a+i)來引用數(shù)組中的第 i號元素; 可見: 任何由數(shù)組下標(biāo)完成的操作都能由指針來實(shí)現(xiàn) ; a[i] *(p+i) amp。a[i] p+i 在使用指針變量時,要注意以下幾個問題: ①、可以使用 p++使指針變量 p的值不斷改變: for (p=a。 p(a+10)。 p++) printf(%4d, *p)。 for (p=a。 a(p+10)。 a++) printf(%4d, *a)。 ②、在程序運(yùn)行期間,要始終注意指針變量當(dāng)前所指向的是哪一個元素 。 可以執(zhí)行 p++等操作使 p指向不同的數(shù)組元素,通過 *p訪問不同的數(shù)組元素。但 要始終注意 p當(dāng)前所指向的是哪一個數(shù)組元素 ! 通過指針在函數(shù)間傳遞一維數(shù)組: C編譯系統(tǒng)都是將形參數(shù)組名作為指針變量來處理的。 f(int x[ ], int n)。 f(int *x, int n)。 可以通過 x[i]、 *(x+i)來訪問實(shí)參數(shù)組元素。 要求實(shí)參為指向數(shù)組首元素的指針: a 或 p f(a, 10)。 f(p, 10)。 (p=a。) 小結(jié) int a[10], *p。 p=a。 或 p=amp。a[0]。 p為指向數(shù)組元素的指針 C語言規(guī)定:數(shù)組名表示數(shù)組的首地址,即第 0個元素的地址;即 數(shù)組名是指向數(shù)組第 0個元素的指針常量 。 a+i p+i 表示數(shù)組第 i 個元素的地址(amp。a[i]), 即指向第 i 個元素的指針 *(a+i) *(p+i) 表示數(shù)組的第 i 個元素 (a[i]) a[i] p[i] 表示數(shù)組的第 i 個元素 (a[i]) 數(shù)組第 i 個元素地址的表示方法: amp。a[i], a+i, p+i, amp。p[i] 數(shù)組第 i 個元素的表示方法: a[i], *(a+i), *(p+i), p[i] 通過指針在函數(shù)間傳遞一維數(shù)組 數(shù)組元素作為函數(shù)參數(shù): void swap(int x, int y)。 swap(a[1], a[2])。 數(shù)組名作為函數(shù)參數(shù): void f(int x[ ], int n)。 f(a, 10)。 數(shù)組名代表數(shù)組首地址。用數(shù)組名作實(shí)參,調(diào)用函數(shù)時是把數(shù)組首地址傳遞給形參,而不是把數(shù)組的值傳給形參。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a x x[0] x[1] x[2] x[3] x[4] x[5] x[6] x[7] x[8] x[9] 實(shí)際上能夠接受并存放地址值的只能是指針變量, C編譯系統(tǒng)都是將形參數(shù)組名作為指針變量來處理的 。 void f(int *x, int n)。 x[i] *(x+i) 若在函數(shù)調(diào)用期間改變了數(shù)組某一存儲單元的內(nèi)容,則在函數(shù)調(diào)用完畢后,已改變的值被保留下來。 變量名與數(shù)組名作函數(shù)參數(shù)時的比較: 實(shí)參類型 變量名 數(shù)組名 要求形參的類型 傳遞的信息 能否改變實(shí)參的值 變量名 變量的值 不能 數(shù)組名或指針變量 數(shù)組的起始地址 能 需要說明的是: C語言的函數(shù)調(diào)用都是采用“ 值傳遞 ”方式;當(dāng)用變量名作函數(shù)參數(shù)時傳遞的是變量的值;用數(shù)組名作函數(shù)參數(shù)時,由于數(shù)組名代表的是數(shù)組首地址,因此傳遞的是數(shù)組首地址,所以要求形參為指針變量。 例題:有一個一維數(shù)組 score, 內(nèi)放 10個學(xué)生成績,求平均成績。 指針變量可替代數(shù)組名作為函數(shù)的參數(shù) : ①、指針變量可以作為函數(shù)的形參; ②、指針變量可以作為函數(shù)的實(shí)參; 歸納起來,實(shí)參與形參的對應(yīng)關(guān)系有: ①、形參和實(shí)參都用數(shù)組名: f(int x[ ], int n)。 f(a, 10)。 把實(shí)參數(shù)組首地址傳給形參作為形參數(shù)組首地址; ②、實(shí)參用數(shù)組名,形參用指針變量: f(int *x, int n)。 f(a, 10)。 把實(shí)參數(shù)組首地址傳給形參 (指針變量 ),函數(shù)中用指針訪問實(shí)參數(shù)組 ③、形參和實(shí)參都用指針變量: f(int *x, int n)。 f(p, 10)。 函數(shù)調(diào)用前應(yīng)先給實(shí)參指針變量賦值 (如: p=a) ④、實(shí)參為指針變量,形參為數(shù)組名: f(int x[ ], int n)。 f(p, 10)。 實(shí)參通過指針變量為形參提供數(shù)組首地址; 167。 指針與字符串 存放字符串的字符數(shù)組是一種特殊的數(shù)組,即以 39。\039。作為結(jié)束標(biāo)志。在訪問字符串時候,以 39。\039。作為結(jié)束條件。 通過指針訪問字符串 一、有關(guān)概念: 字符串的指針 : 對應(yīng)的字符數(shù)組在內(nèi)存中存放的 首地址 ; 指向字符串 的指針變量: 專門用來存放字符數(shù)組首地址的 變量 ; 字符數(shù)組指針變量的定義與賦值: char *p, str[30]。 p=str。 p=amp。str[0]。 二、字符串的表示形式: 用字符數(shù)組實(shí)現(xiàn): void main( ) { static char s[ ]=I love China!。 printf(%s\n, s)。 } 用字符指針指向一個字符串: static char s[ ]=I love China!。 char *p。 p=s。 printf(%s\n, p)。 對于指向字符的指針變量,除了可以把字符數(shù)組名(指向字符的指針常量 )賦給它外,還可以將一個字符串常量賦給它。 char *cp; cp=Hello, world!。 也可以在定義時賦初值: char *cp= Hello, world!。 C語言在處理字符串常量時,在內(nèi)存中開辟連續(xù)的存儲單元,存放字符串中的各字符和字符串結(jié)束標(biāo)志 39。\039。 對指針變量賦值的作用是: 將字符串在內(nèi)存中的首地址賦
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1