指標概念知識點總結 經典

2021-10-12 20:59:21 字數 1783 閱讀 6824

● 變數的位址就是變數的指標。變數的值和變數的位址是不同的概念,變數的值是該變數在記憶體單元中的資料。用來存放指標(位址)的變數就稱為指標變數。

● 若把某變數的位址賦值給指標變數p,則稱指標變數p指向該變數。

● 定義指標變數的一般形式為:型別名 *指標變數名;,其中「*」為說明符,而不是運算子。

● 通常指標變數可以通過以下幾種方法獲得位址:通過位址運算「&」賦值,指標變數的初始化,通過其他指標變數賦值,用null給指標變數賦空值,以及通過呼叫標準函式賦值。

● 「*」稱為指標運算子(單目運算子),也稱取內容運算子。當指標變數p指向乙個變數x時,可以用*p的形式訪問該變數的值。此時,*p與變數x相互等價。

● 取位址運算子「&」與指標運算子「*」作用在一起時,有相互「抵消」的作用。對於變數x,*&x與x相互等價。

● 若定義了一維陣列a和指標變數p,且p=a;,則以下四種表示相互等價:a[i]、p[i]、*(a+i)、*(p+i)。

● 未對指標變數p賦值即p沒有指向時,而就對*p賦值,該值就代替了記憶體中某單元的內容,有可能出現不可意料的錯誤。

● 乙個陣列的元素在記憶體中是連續存放的,陣列第乙個元素的位址稱陣列的首位址。在c語言中,陣列名是該陣列的首位址,因此,陣列名是指標常量。

● 當指標變數p指向陣列元素時,p加上乙個正整數n,則當前指向為相對p向前移動n個元素的位置;p減去乙個正整數n,則當前指向為相對p向後移動n個元素的位置。

● 假設指標變數p、q指向同一陣列,若p指向位址較大元素,q指向位址較小的元素,則p>q的值為1(真),且p● 假設指標變數p、q指向同一陣列,p-q的值等於p所指物件與q所指物件之間的元素個數,若p>q則取正值,p● 把字串常量賦值給字元指標變數,相當於把該字串常量的首位址賦值給字元指標變數。

● c語言的二維陣列由若干個一維陣列構成。若有定義語句:int a[m][n], i, j;,則以下元素的七種表示相互等價:

a[i][j]、*(a[i]+j)、*(*(a+i)+j)、(*(a+i))[j]、*(&a[0][0]+n*i+j)、* (a[0]+n*i+j)、* (*a+n*i+j)。

● 若有語句:int a[m][n], i, j, (*pi)[n];,則指標變數pi指向「包含n個整型元素的一維陣列」。當pi=a;時,pi+1將跳過n個元素指向下一行,故稱pi為行指標,也稱pi是(指向一維)陣列(的)指標。

若pi=a;,則以下五種元素的表示相互等價:a[i][j]、pi[i][j]、*(pi[i]+j)、*(*(pi+i)+j)、(*(pi+i))[j]。

● 除了由二維字元陣列可以構成字串陣列外,還可以定義乙個指標陣列,並在定義時用字串賦初值的方法,構成乙個字串陣列。

● 指向指標的指標變數,經過二次間接訪問後才能訪問到變數的值。

● 通常用指標陣列的每個元素pa[i]指向二維陣列a的每行第0列元素的首位址,然後用指向指標的指標變數pp指向指標陣列,此時,pp+1指向陣列指標pa的下乙個元素,也就是 pp+1指向二維陣列a的下一行。如果a是二維字元陣列,則pp+1指向下乙個字串。

● 當指標變數指向某一結構體變數時,可用下述三種方式之一訪問結構體成員(三種方式是等價的):結構體變數名.成員名、指標變數名->成員名、(*指標變數名).成員名。

作用是先得到p指向的變數的值(即*p),然後再使p+1→p。⑶ *(p++)與*(++p)不同。前者為a[0],後者為a[1]。

⑷ (*p)++表示p指向的元素值加1,即(a[0])++ ⑸ 如果p當前指向a陣列中第i個元素,則: *(p--)相當於a[i--],先對p進行*運算,再使p自減; *(++p)相當於a[++i],先使p自加,再作*運算。 *(-- p)相當於a[--i],先使p自減,再作*運算。

指標知識點總結

指標及其應用 關於指標的考點 12 24分 指標與指標變數的概念 指標與位址運算子。變數 陣列 字串 函式 結構體的指標,以及指向變數 陣列 字串 函式 結構體的指標變數,通過指標引用以上各型別資料。用指標作函式引數。返回指標值的指標函式。指標陣列 指向指標的指標。main函式的命令列引數。知識點歸...

知識點概念總結

1.分數乘法 分數的 與 相乘,與 相乘,能約分的要先 2.分數乘法的計算法則 分數乘整數,用分數的分子和整數相乘的積作不變 分數乘分數,用分子相乘的積作 分母相乘的積作 但分母不能為零。3.分數乘法意義 分數乘整數的意義與整數乘法的意義相同,就是求幾個相同加數的 的簡便運算。乙個數與分數相乘,可以...

陣列及指標知識點總結

第9章陣列 第1課知識點一 定義一維陣列 格式 型別名陣列名 元素個數 例1 定義乙個包含4個整數的陣列a int a 4 例2 定義乙個包含3個雙精度數的陣列b double b 3 注意 c語言中陣列的下界從0開始計數。例如 a 4 的4個元素分別為a 0 a 1 a 2 a 3 知識點二 一維...