指標到底有多難?談一談自己的看法?

時間 2021-05-06 15:05:29

1樓:Oops

指標就是個變數,變數裡面儲存的是位址。

當然,指標變數本身也有位址,於是就有了指向指標的指標,這個指向指標的指標變數裡儲存的就是前乙個指標變數的位址。

當然,指向指標的指標本身也有位址,於是就有了指向指向指標的指標,這個指向指向指標的指標變數裡儲存的就是之前指向指標的指標變數的位址。當然

2樓:硬體工程師

在Stackoverflow上面有乙個回答:

乙個有助於解釋指標的模擬是超連結。大多數人都能理解,乙個網頁上的鏈結指向網際網路上的另乙個網頁,如果你能複製和貼上該超連結,那麼它們都將指向同乙個原始網頁。如果你去編輯原來的頁面,然後按照這些鏈結(指標)你會得到新的更新頁面。

An analogy I've found helpful for explaining pointers is hyperlinks. Most people can understand that a link on a web page 'points' to another page on the internet, and if you can copy & paste that hyperlink then they will both point to the same original web page. If you go and edit that original page, then follow either of those links (pointers) you'll get that new updated page.

3樓:曉蜂影視

個人覺得,回答這種問題,用「形象+深入」或者「形象+引申」兩種思維去回答。既然是說自己的理解,那麼不能直接答出概念,而是轉為自己的語言。比如形象,就說指標好比知道一間房的門牌號,只要給出門牌號,我們就可以訪問那個房間,而門牌號則就是位址。

深入一點,就可以談知道乙個門牌號,怎麼知道下乙個房間的門牌號,比如char型別的指標,或者int型別的指標的門牌號是相隔1或者4的。至於引申,可以談OC的萬能指標id、isa指標或者建立物件所用指標,引申哪些,就看自己的發揮了。老師問這個問題的目的,其實是考察我們能否對學過的知識進行系統的分類或者歸納。

多說一些,勝過少說一點。

僅僅是個人理解,僅供參考

4樓:多巴胺

應該不難吧,只要有操作流程,按照操作流程去操作,應該不會很難,畢竟現在的人都那麼聰明。

指南針,古代叫司南,主要組成部分是一根裝在軸上的磁針,磁針在天然地磁場的作用下可以自由轉動並保持在磁子午線的切線方向上,磁針的南極指向地理南極(磁場北極),利用這一效能可以辨別方向。

印象中古代的人操作指南針是溜溜的,影視劇中使用指南針也是不費吹灰之力的,何況是我們現在的人,經過了這麼多高科技的培訓,更加沒有問題了,再說古代沒有說明書,現代還有說明書呢。

不過說句實在話,對於我這種東西南北分不清的人來說還是有點困難的,也就是說對於方向感不強的人來說可能比較難的。

但是如果是對於開車的人來說應該是很容易的,畢竟他們的方向感很強,定位能力也很強,不像我這種小白啥都不懂。

5樓:大漠孤煙

其實指標不難。

問題是還有指向指標的指標。

還有指向指向指標的指標。

還有指向指向指向指標的指標。

嗯,如果你覺得不是很繞的話,那你有天賦了

6樓:pluntva

指標在剛開始學的時候確實會感覺難,因為在系統學習時會學習各種各樣的指標型別,比如二級指標,指標陣列,陣列指標,指標函式,函式指標,而且涉及到解引用,解幾次引用這種繞的人頭暈轉向是問題,但是在暈暈的學完後,真正用指標寫東西的時候其實也沒那麼複雜,也就用那麼幾種指標,所以不要被眼前指標嚇怕了。

7樓:陸海綿

指標難就難在乙個名字,模糊地對應著兩個物件。

指標對應著記憶體中的兩個物件,乙個是指標本身,指標是占用記憶體的,這塊記憶體是來用存放指向物件的位址,乙個是指標指向的物件(指標物件存放的該物件的位址),所以,考慮指標問題的時候弄清楚是哪乙個物件就容易理解指標。

當我們考慮下面四個語句的時候,這個問題就非常明顯了。

int*p;

// 普通指標

const

int*p;

// 常量指標

int*

constp;

// 指標常量

const

int*

constp;

// 指向常量的指標常量

// 普通指標

inta,b

,c;int*p

;p=&

a;// ok, 對指標p賦值*p

=1;// ok, 對指標指向的物件,即a賦值。p=

&b;// ok, 還是對指標p賦值,這時候p指向b.*p

=2;// ok, 對指標指向的物件,即b賦值。

// 常量指標,指向乙個常量的指標

const

intc=0

;const

int*q;

// 定義乙個「指向const int」的指標q,但是q本身不是const的。q=

&c;// ok, 對指標q賦值,q本身不是const。*q

=1;// error, 對指標指向的物件賦值,而該物件是const,出錯q=

&a;// ok, 對指標q賦值,q本身不是const, 這時候q指向a。*q

=2;// error, q指向a,雖然a不是const的,但是從q的角度來看,是「指向const int」,所以出錯

// 指標常量, 本身是乙個常量的指標,但指向的物件不是乙個常量

int*

constr=

&a;// ok, 定義乙個指向int的const指標,r本身是const的,但指向的物件不是r=

&b;// error, r本身是const的*r

=1;// ok, r指向的物件不是const的

// 指向常量的指標常量, 常量指標和指標常量的結合

const

int*

consts=

&a;s

=&b;

// error, s是乙個常量*s

=1;// error, *s是乙個常量

對於一級指標,弄清楚上面這種就沒問題了。

下面我們考慮二級指標,二級指標情況就多了。

二級指標本質上就是個指標,只不過指向的物件又是乙個指標。

int**p;

// int * * p, 把int*看成乙個新的型別,不妨記這個型別為intp, int **p等價與 intp *p;

typedef

int*

intp

;intp*p

;// p就是一級指標,根據上面的分析,對p的操作都很清楚。

8樓:任衛

不難。只要知道記憶體中(其實也包括磁碟等)的位元資料的型別是怎麼來的就行了。

原無型別,但我們拿個資料型別往那位元資料上套,套出來是啥就是啥。比如32個位元,可以套成4個ASCII字元,也可以套成乙個int32數字。

而指標就是儲存這些記憶體的位址的嘛。

9樓:李昕

拷貝煩,結構體中嵌入指標的時候拷貝很煩,結構體中動態分配空間的指標更煩,多執行緒下確認結構體中動態分配空間的指標什麼時候釋放煩中煩,非同步多執行緒下利用緩衝佇列快取待執行、執行完成的結構體資料中的動態分配空間指標的時候確認什麼時候該釋放是煩上煩。

10樓:Leslie chin

俺覺得沒啥難的,可能是因為接觸的太少了或者沒做過什麼正八經的專案。。

就是乙個變數, 變數裡面存了個數,這個數是個位址罷了。。。。

然後你就訪問這個位址唄。。。。

哈哈。不知者無畏,不要噴我啦。。。。。

談一談你對大學的室友的看法?

33嗚哇嗚哇 快樂夥伴,帶飯工具人,電影電視劇集搭子,和我一樣的老廢物。開始認真 大學宿舍是乙個睡覺和玩樂的地方,當然如果條件好一點也是可以學習的。那麼大學室友就是睡覺的時候會睡在乙個房間的人,這個是基礎,大家首先得能和平睡在乙個房間裡,如果這一點做不到呢要麼換宿舍或者搬出去要麼忍,盡量達成差不多一...

張國榮的歌到底有多難唱?

小小樂迷 小學開始就只會唱張國榮的歌,感覺就是很大氣卻又很溫柔的推送,非專業音樂聲樂學識,因此無法給出很正確的說詞,有一樣東西是肯定的,他的歌需要很大很大的能量和肺活量,柔和情感的觸點,而且每一首歌都要有不同的表達方式,學他的歌最重要的是不要模仿,自己用自然的方式去唱,用心的時間教會很多東西。 我很...

田徑的一級到底有多難拿?

Iivy 這個 多難拿 其實挺難衡量的,你說難吧我師姐初一就達一級了,你說簡單吧我也有隊友連二級都苦苦突破不了,撇開天賦不說,還需要運氣,國際一級運動員證書需要參加省級及以上的正式比賽才能拿到,參加這些賽事便是個門檻,能參加的基本上都是一級上下的人了,除此之外還需要遇到個好教練,懂得訓練懂得培養,能...