以下介紹 記憶體地址 、 儲存空間 、 變數類型 和 變數名稱 這四個概念
用最簡單的指標應用來解釋:
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