指標是用來存放一個變數在記憶體空間的地址的變數(變數其實就是地址)
舉例
假設a=5 ,a在記憶體空間的地址是10882(隨便寫的)。
定義一個*b,使b=&a,那么b=10882,*b=5。
若使*b=10,那么a=10。可以這么理解*b指向的是b所存地址對應的那個變數a存盤的值。而b本身也是一個地址,它的值就是a的地址。
有點繞,慢慢理解!不知道對不對,自己也是明白不久,有錯誤請指正!
uj5u.com熱心網友回復:
變數(例如a,b)是為了方便記憶是復雜的二進制地址所定義的,是用a,b代替二進制地址,但不能認為a或b=二進制地址。uj5u.com熱心網友回復:
a和b相當于一個房間的門牌號uj5u.com熱心網友回復:
不要從記憶體位置等底層實作來思考,要從 C 語言本身的語法來理解,否則很多東西會被解釋得一片混亂。例如 int a, *b; 那么 a 就是一個物件,型別為 int;b 也為一個物件,型別為 int*,即指向 int 的指標。b = &a,其中 &a 生成了一個 int* 物件,這個指標指向 a(即:這個指標的值是 a 的地址),而 = 使得 b 的值被 &a 覆寫,即 b 指向了 a,這以后 *b 與 a 等價。uj5u.com熱心網友回復:
有道理!我是初學者!個人理解!??????
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/146255.html
標籤:C語言
上一篇:求大佬幫忙看看這個c語言的題。
