以下介紹 記憶體地址 、 儲存空間 、 變數類型 和 變數名稱 這四個概念
用最簡單的指標應用來解釋:
int b;
int *a = &b;
在 a
, b
被宣告出來的時候,並且未初始化 :a
被宣告為 int*
, b
被宣告為 int
由於 a
, b
均未初始化 , 儲存空間中儲存 垃圾值(garbage value)
一些不能預測、未知、並且不能使用、無用的值
——
使 a
指向 b
, (個人認為使用指向這字眼太抽象)
即是 把 b
的地址(記憶體地址) 放入 a
的儲存空間:
上面不用指向的方式,用一層虛擬取值層級表示
(可能)會比較容易理解
b
的地址取替了 a
儲存空間 原本的垃圾值,( a = &b
)
a
的類型是int*
(指標類型), 所以a
的儲存空間是用於儲存記憶體地址
由於 a
儲存了 b
的地址, 所以 *a
等價 b
的儲存空間,即 b
即 所謂的 a
指標 指向了 b
*
(星號) 是 取值運算符 / 間接尋址運算符 / 間接取值運算子 。 (*
的不同名稱
下一篇介紹比較複雜一點點的例子
我是非本科系自學的,從python起家,很想瞭解一下C,所以這系列請一定要繼續下去啊。
這個系列不太多入門的知識喔..
謝謝支持 OWO