指標的深入

2021-07-16 13:25:46 字數 2517 閱讀 1486

* 開課小練習*

int num = 300;

char *p1 = #

*p1 = 100;

二級指標:

n級指標的使用

int num = 10;

int*p_num = #// 一級

int**pp_num = &p_num;// 二級

int**

*ppp_num = $pp_num; // **

/*列印num的值

%d用來輸出num

%d用來輸出*p_num

%d用來輸出**pp_num

%d用來輸出**

*ppp_num

*/

int arr = ;

int*p1 = &arr[0];

int*p2 = arr;

使用指標遍歷陣列的第一種方式

int arr[7] = ;

int*p1 = &arr;

for(int i = 0; i < 7; i++)

int arr[7] = ;

int*p1 = &arr;

for(int i = 0; i < 7; i++)

int arr[7] = ;

int*p1 = &arr;

for(int i = 0; i < 7; i++)

指標變數+1的本質

指標-1:

儲存指標的陣列: 簡稱 指標的陣列(陣列指標)

宣告格式:

資料型別 *陣列名[長度];

int num1 = 10;

int num2 = 100;

int num3 = 1000;

//定義乙個陣列 儲存了三個變數

int arr = ;

//定義乙個陣列 儲存了三個變數的位址

int*p_arr = ;

//或者

int*p_arr1 = ;

// 要訪問 num1的值

printf("num1 = %d\n",num1);

printf("num1 = %d\n",arr[0]);

printf("num1 = %d\n",*p_arr[0]);

* 指標與指標之間的減法運算*

* 指標相減的意義:

* 代表兩個指標指向的變數之間相差多少個單位變數.

* 指標相減的前提 : 這兩個指標 必須指向相同的乙個陣列中的元素

* 公式

* 指標1 - 指標2====> (指標1的值-指標2的值)/sizeof(指標型別)

* 兩個指標之間只能做減法

* 指標與指標之間的比較運算*

* 他可以判斷兩個指標指向的變數的位址 , 誰在高位元組 誰在低位元組

* 可以判斷使用 ==、!=、來判斷兩個指標指向的位址是不是為同乙個位址

* 注意:

* 系統為變數分配位址的時候 是從高位元組向低位元組分配的

* 變數內部 儲存的時候 是從低位元組 ===> 高位元組

儲存字串資料的兩種方式

* c語言中的字串如何訪問

* 使用字元陣列:

「` char name = 「jack」;

三個長度:

字串可見長度: 4

字串實際長度: 5

陣列長度: 5

```

記憶體中的五大區域

堆 bss段

常量區

**段

字串儲存的兩種方式

* 當他們都是區域性變數的時候

* char name1 = 「jack」;

* name1 儲存在棧中,」jack「的每乙個字元存在字元陣列中,也就是棧去

* char *name2 = 「rose」;

* name2 儲存在棧中,但是rose是存在常量區

* 當他們作為全域性變數的時候

* char1 = 「jack」;

* name1儲存在儲存在常量區 ,jack每乙個字元都儲存在陣列中,也就是常量區

* char *name2 = 「rose」;

* name2儲存在常量區,」rose「也是常量區。name2這個指標 指向了rose這個字串的首字母的位址

難點 * 字串陣列的排序*

char * countries =

// 氣泡排序:

for(int i =0; i < len

-1; i++)

}}//選擇排序

for(int i =0 ; i < len

-1; i++)

}}

深入理解c 指標的指標和指標的引用

展示一下使用指標的指標和指標的引用修改傳遞給方法的指標,以便更好的使用它。這裡說的指標的指標不是乙個二維陣列 為什麼需要使用它們 當我們把乙個指標做為引數傳乙個方法時,其實是把指標的複本傳遞給了方法,也可以說傳遞指標是指標的值傳遞。如果我們在方法內部修改指標會出現問題,在方法裡做修改只是修改的指標的...

深入理解指標

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

深入理解指標

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