在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...