二、資料結構預備知識(1)——指標
指標的本質:指標是乙個操作受限的非負整數(不能加、乘、除,僅能在某些情況下相減)
記憶體分配:作業系統將記憶體的使用許可權給予程式
記憶體釋放:作業系統**該部分記憶體的使用許可權,但是但是並不會清空記憶體中的遺留資料
#include
intmain()
#include
voidf(
int*p)
//不是定義了乙個名字叫做*p的形參
//而是定義了乙個形參,該形參的名字叫做p,他的型別是 int *
intmain()
以上程式的輸出結果為
i = 100
#include
intmain()
;printf
("%p\n"
,a);
//%p表示輸出該變數的記憶體位址
printf
("%p\n"
,a+1);
printf
("%p\n"
,a+2);
printf
("%p\n"
,a+3);
printf
("%p\n"
,a+4);
return0;
}
程式執行的結果為
000000000061fe00000000000061fe04
000000000061fe08
000000000061fe0c
000000000061fe10
可以看出陣列的內容在記憶體中是連續存放的(int 型變數占用4個位元組)
a[i] <<==>> *(a+i)
#include
intmain()
;printf
("%d\n"
,*a+1)
;//*a+1等價於a[0]+1
printf
("%d\n",*
(a+2))
;return0;
}
輸出結果為
23
#include
voidf(
int*p,
int len)
intmain()
;f(a,5);
//a等價於&a[0], &a[0]本身就是 int *型別
printf
("%d"
,a[2])
;return0;
}
以上程式的輸出結果為
-1關於記憶體和cpu關係的知識詳見《微機原理》 ↩︎
資料結構(二)指標的複習
今天我們繼續學習資料結構,說道資料結構他是一種思想,資料該如何組合,該如何分配在記憶體中,一般學習資料結構都使用的是,就是既有描述又有 體現的就是一種演算法的思想,重要在於理解這種演算法,理解這種結構。但是我這次學習,想使用c來描述一下基本的資料結構,因為描述資料結構c語言比較方便,而且自己以前學習...
資料結構(二)指標的複習
今天我們繼續學習資料結構,說道資料結構他是一種思想,資料該如何組合,該如何分配在記憶體中,一般學習資料結構都使用的是,就是既有描述又有 體現的就是一種演算法的思想,重要在於理解這種演算法,理解這種結構。但是我這次學習,想使用c來描述一下基本的資料結構,因為描述資料結構c語言比較方便,而且自己以前學習...
C語言 資料結構 預備知識指標
所有的偉大源於乙個勇敢的開始 資料結構預備知識 指標1.指標 是 c語言的靈魂,指標 位址 int p p是指標變數,int 表示該p 變數只能儲存 int型別變數的位址,不能存放別的型別的 int i 10 p i 詳細這兩部操作 1 p 存放了i 的位址,所以我們說 p指向了 i2 p和 i是完...