4 讓你不再害怕指標 指標表示式

2021-08-26 01:24:45 字數 659 閱讀 7911

乙個表示式的結果如果是乙個指標,那麼這個表示式就叫指標表式。

下面是一些指標表示式的例子:

例七:int a,b; int array[10]; int *pa; pa = &a; //&a 是乙個指標表示式。 int **ptr = &pa; //&pa 也是乙個指標表示式。 *ptr = &b; //*ptr 和&b 都是指標表示式。 pa = array; pa++; //這也是指標表示式。

例八:char *arr[20]; char **parr = arr; //如果把arr 看作指標的話,arr 也是指標表示式 char *str; str = *parr; //*parr 是指標表示式 str = *(parr+1); //*(parr+1)是指標表示式 str = *(parr+2); //*(parr+2)是指標表示式

由於指標表示式的結果是乙個指標,所以指標表示式也具有指標所具有的四個要素:指標的型別,指標所指向的型別,指標指向的記憶體區,指標自身佔據的記憶體。

好了,當乙個指標表示式的結果指標已經明確地具有了指標自身佔據的記憶體的話,這個指標表示式就是乙個左值,否則就不是乙個左值。在例七中,&a 不是乙個左值,因為它還沒有佔據明確的記憶體。*ptr 是乙個左值,因為*ptr 這個指標已經佔據了記憶體,其實*ptr 就是指標pa,既然pa 已經在記憶體中有了自己的位置,那麼*ptr 當然也有了自己的位置。

1 讓你不再害怕指標 細說指標

指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別 指標所指向的型別 指標的值或者叫指標所指向的記憶體區 指標本身所佔據的記憶體區。讓我們分別說明。先宣告幾個指標放著做例子 例一 1 int ptr 2 char ptr 3 in...

1 讓你不再害怕指標 細說指標

指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別 指標所指向的型別 指標的值或者叫指標所指向的記憶體區 指標本身所佔據的記憶體區。讓我們分別說明。先宣告幾個指標放著做例子 例一 1 int ptr 2 char ptr 3 in...

8 讓你不再害怕指標 指標型別轉換

當我們初始化乙個指標或給乙個指標賦值時,賦值號的左邊是乙個指標,賦值號的右邊是乙個指標表示式。在我們前面所舉的例子中,絕大多數情況下,指標的型別和指標表示式的型別是一樣的,指標所指向的型別和指標表示式所指向的型別是一樣的。例十五 float f 12.3 float fptr f int p 在上面...