指標的使用

2021-07-25 04:25:58 字數 908 閱讀 1180

正如拿著名片可以找到某個人一樣,通過指標可以訪問其指向的某塊記憶體區域。為此,c語言引入了間接引用的概念,這需要使用運算子*。

1.*運算子

*的作用有兩個:一,宣告:宣告某個型別的指標變數; 二,間接引用,通過指標訪問其指向的記憶體區域。

double num=3;

double *pnum;

pnum=#

對以上**說明如下:

num: 

double 型別的變數

pnum:

指向double型別的指標變數,其值是num的值

&num:

返回變數num的位址,與pnum等價

*pnum:pnum所指向的變數,間接訪問方式,與num等價

&(*pnum):與&num等價(即pnum)等價,num的位址。

*(&num):

與*pnum(即num)等價,變數num

1.2 指標的型別和指標所指向的型別

原則上,指標的型別和指標所指向的型別應該是相同的,但是也有例外。下面我們將區分一下二者的不同,在此之前,我們先區分一下兩者的概念:所謂的指標的型別,指的是宣告指標變數是位於變數名前的「型別*」;而所謂的指標所指向的型別,指的是為指標初始化或者賦值的變數型別。

1.2.1 同型別指標的賦值

同型別指標的賦值是最常見的一種情況。例如:pn1,pn2是兩個相同型別的指標,執行「pn1=pn2」這樣乙個賦值操作後,pn1,pn2就指向了同樣的位址,也就是說兩個指標指向同乙個記憶體單元,對*pn2的任何改動都會影響到pn1的值,反之亦然。

1.2.2 指標的型別和指標所指向的型別不同時

(1)指標記憶體的位元組數大於指標型別佔據的位元組數。

double dnum;

int *pi = &dnum;

(2)指向記憶體的位元組數小於指標型別的位元組數。

指標的使用

指標的使用 1.注意 一定要在對指標應用解除應用操作符 之前,將指標初始化為乙個確定的位址。例子 include int main int a int p p 10 正確使用方法 p a p 10 c 中還可以使用 new來給指標確定位址。例子 include int main int a 4 ne...

this指標的使用

this指標 以下 中定義了三個物件a,b,c.因此有三個同樣空間大小分別存放三個物件的資料成員。但是三個物件都同樣呼叫了calcircle 函式.當不同物件的成員函式引用資料成員時,如何保證引用的是指定物件的資料成員呢?在每乙個成員函式中都包含乙個特殊的指標,稱為this指標,它是指向本類物件的指...

指標的使用

指標的應用場景 1.交換兩個變數 2.函式返回多個值,某些值就只能通過指標返回 傳入的引數實際上是需要儲存帶回的結果的變數 3.函式返回運算的狀態,結果通過指標返回 傳入函式的數組成了什麼?函式引數表中的陣列實際上是指標 sizeof a sizeof int 但是可以用陣列的運算子進行運算 陣列引...