資料結構入門(二) 預備知識(1) 指標

2021-10-17 09:25:38 字數 1611 閱讀 8436

二、資料結構預備知識(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;

}

程式執行的結果為

000000000061fe00

000000000061fe04

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;

}

輸出結果為

2

3

#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是完...