指標學習心得與理解

2021-07-12 05:29:15 字數 1025 閱讀 9908

在c語言的學習過程中,指標是相當重要的一部分,學好指針對c的學習有很重要的意義。

指標和記憶體

如果說記憶體相當於街道,那麼位址就相當於位於街道中房子的房號。

乙個位元組(8bit)包含乙個位址。記憶體中每乙個位置都包含乙個獨一無二的位址標識,而每乙個位置都包含乙個值。

②*p分別作為左值和右值時具有不同的意義

*p放在「=」左邊表示p指向的空間

*p放在「=」右邊表示解引用p

③在對指標進行初始化的時候有兩種非法情況

如:int *pa;→這是未初始化的指標,這種做法是不行的

*pa=10;

int *pret=fun();→這是個非法的指標,不能將乙個函式直接賦給乙個指標變數

*pret=20;

2.指標常量

例:*((int *)0x0018ff44)=20

其中0x0018ff44是乙個常量,不能直接引用,需強制型別轉換為乙個整型位址    

改為:int a=10;

*((int *)0x0018ff44)=30;

此時a=30;

3.指標的指標

例:①int *p=null;

int **ptr=&p;→二級指標變數儲存一級變數的位址

②int a=10; 

int *p=&;→想要將a的內容變成20,則可以寫成*p=20或者**q=20

4.指標運算

①對於乙個指標變數*p,p+n後增加的位元組取決於p的資料型別,如果是乙個char型別的,則增加n個位元組,如果是乙個int型別的,則增加n*4個位元組。

②指標1-指標2之間的元素等於指標1和指標2之間元素的個數

③允許指向陣列元素的指標與指向陣列最後乙個元素的指標進行比較,但不允許與指向第乙個元素之間的記憶體進行比較。

例:用指標實現乙個氣泡排序的函式

void bubble_sort(int arr, int sz)

}

學習初始,不足之處望指正。

本文出自 「福大馨」 部落格,請務必保留此出處

指標學習心得與理解

在c語言的學習過程中,指標是相當重要的一部分,學好指針對c的學習有很重要的意義。指標和記憶體 如果說記憶體相當於街道,那麼位址就相當於位於街道中房子的房號。乙個位元組 8bit 包含乙個位址。記憶體中每乙個位置都包含乙個獨一無二的位址標識,而每乙個位置都包含乙個值。p分別作為左值和右值時具有不同的意...

list h學習心得與總結

在哪些地方可以用到 底層基礎模組開發會用到。1,使用巨集非常方便。使用list head init,list head來定義鍊錶指標。init list head,方便了初始化。使用 list entry獲得整體結構體的指標 使用list for each來遍歷整個鍊錶 使用list for eac...

斷點續傳學習心得與體會

public void doclick view v case r.id stop public class downserivce extends service else if stop action.equals intent.getaction return super.onstartcom...