指標到底有多難,到底C語言的指標有多強大?

時間 2022-07-12 11:00:07

1樓:

c的指標並不難,難就難在國內的教材混亂,教師教法存在問題。

c的指標非常靈活,能夠大大提高程式的執行效率。當然了,這麼靈活的東西,規則還是挺多的,學習起來要費點力氣。

如果能找到國外的教材資料,可以看看國外書上怎麼寫的。

最好的辦法是多看一些關於指標的程式,然後推測出實際的意思與真正的意思是否存在差別,看的多了,就明白了,自已用起來也得心應手,別著急自己寫,先多看看別人是怎麼寫的,怎麼用的。

當然了,為了考試而學另當別論,把教學要求的目標達到就行了。

2樓:匿名使用者

指標是c語言的精髓,如果你想學好c語言,那麼你就算硬著頭皮也要把指標學下來。

至於「指標該怎麼學」實際上你只要理清思路,認真發現規律,你就行最重要的一點,每時每刻都要記住它,只有相信你行,你才行;只要相信你行,你就行,

所以要相信自己能學好指標,相信能做好一切事情。

但像he_shi_kai說的一樣,為了考試而學另當別論,把教學要求的目標達到就行了。

3樓:匿名使用者

指標的重難點是陣列指標、二維陣列指標、指標的指標……(多層指標)、指標作為形參、按首位址輸出陣列

大概就是這些

4樓:匿名使用者

我覺得指標最重要的是明白它的概念,明白它的本質,在弄懂這些之後再去認真學習它的應用。

要問難不難,我覺得只要老師講指標的時候認真聽了,這個東西就非常easy

還有,樓上大神級回答,犀利威武,膜拜下

5樓:匿名使用者

網上搜搜,講得非常不錯的,叫做《讓你不再害怕指標》

6樓:匿名使用者

指向函式的指標包含了函式的位址,可以通過它來呼叫函式。宣告格式如下:

型別說明符 (*函式名)(引數)

其實這裡不能稱為函式名,應該叫做指標的變數名。這個特殊的指標指向乙個返回整型值的函式。指標的宣告筆削和它指向函式的宣告保持一致。

指標名和指標運算子外面的括號改變了預設的運算子優先順序。如果沒有圓括號,就變成了乙個返回整型指標的函式的原型宣告。

例如:void (*fptr)();

把函式的位址賦值給函式指標,可以採用下面兩種形式:

fptr=&function;

fptr=function;

取位址運算子&不是必需的,因為單單乙個函式識別符號就標號表示了它的位址,如果是函式呼叫,還必須包含乙個圓括號括起來的參數列。

可以採用如下兩種方式來通過指標呼叫函式:

x=(*fptr)();

x=fptr();

第二種格式看上去和函式呼叫無異。但是有些程式設計師傾向於使用第一種格式,因為它明確指出是通過指標而非函式名來呼叫函式的。下面舉乙個例子:

void (*funcp)();

void filefunc(),editfunc();

main()

void filefunc()

void editfunc()

程式輸出為:

filefunc

editfunc

c語言和c++的指標到底有多難?

7樓:大寺

指標是c語言中比較難理解的一部分了,你可以盡量去理解,不理解也沒關係,c語言是面向過程的語言,現在基本用於系統軟體的開發,相信你以後不會主學c的 。 而其他物件導向的語言沒有指標這個東東的 希望能幫到你

8樓:黎約踐踏

有人說難有人說不難,關鍵你怎麼去理解指標 在我學習的時候就一點兒困難也沒有,反而覺得它非常的好用 學習指標前,你要了解一下記憶體,知道cpu怎麼得到資料 ,那麼一切就easy了 提示一下 指標當作普通變數理解就可以,只是它所儲存的是乙個記憶體位址 ,然後你結合 * ,& 的效果一看,指標非常的簡單

9樓:養德亢鴻才

感覺指標不難。主要是他的靈活性會導致軟體崩潰。所以不容許有任何差錯。

指標到底有多難

10樓:匿名使用者

才學嘛 正常 主要是思考問題時 要用計算機的思維方式來思考 比如指標(也就是位址)計算機找乙個變數都是從位址找的 多畫畫圖什麼的 幫助理解

11樓:匿名使用者

如果你知道記憶體位址,知道資料在記憶體中的儲存方式,指標就不難了

12樓:

非常簡單,看不懂就換一本書看,再看不懂就再看一本書

13樓:匿名使用者

我覺得指標不難,當初學c語言指標時沒費什麼力氣。我的方法是把指標和陣列一起學,因為這兩個東西有相似和相通的性質。

14樓:日尼丨禾爾

我學的時候啊!畫表、寫數字;再拿「發可」、無名指、大拇指做指標!

對了幾次就會了......

15樓:匿名使用者

多用幾次就會了 ,多練練就可以了

16樓:匿名使用者

把書先看玩,在多做點練習!我們c指標只學了2天,汗....

17樓:

用多了,熟悉了,也就學好了

18樓:匿名使用者

學了 不總用 屁都不會的 幾天就白費了

19樓:愛夢之雨

堅持寫碼,每天500行**

到底c語言的指標有多強大?

20樓:匿名使用者

你可以看看任何一本書在講指標時是怎麼說的

基本每本書都說 指標是c語言的靈魂,沒有學好指標就等於沒學c語言

可見他的重要性,所以樓主先不要去管到底有多強大,等你學通了 你自己就領悟了!

21樓:匿名使用者

1)指標在函式上的應用,可解決函式傳值不傳位址的問題,從而使諸如交換a,b的值的功能函式化可實現;

2)申請動態陣列,使陣列大小可在檔案執行時確定;

3)c中開啟操作檔案都是用檔案指標的;

4)讓結構體中成員的呼叫可用p->member 的形式實現,清晰明了;5)

22樓:匿名使用者

指標說白了就是乙個帶資料型別的變數,而它儲存的是乙個位址。在組合語言中變數基本上都是用變數名來代表乙個位址來實現的,在編譯的時候要把變數名先轉換為實體地址然後在進行執行的。在c語言中指標的功能已經比較強大了,可是和組合語言比起來還是略顯不足,至少c語言不能把指標指向**段中的任意一行,可是組合語言卻可以。

如果你先學了組合語言後在學習指標那麼就容易清楚了。

23樓:匿名使用者

指標有多強大,我難以形容。在值的傳遞過程中,有兩種方法:一種是值傳遞;一種是引用傳遞,及位址傳遞。

不用想,引用傳遞比值傳遞的效率高很多。因為在值傳遞的過程中;比如說:你要傳遞乙個值為y的變更到另乙個函式去。

如果是值傳遞的話,你可能要給分配兩個儲存位址,如果是引用的話就不用了。在記憶體中,是整形的變數,他就會分配32768到-32767這麼大的空間。。

指標的大小到底是由誰決定?是多少?

24樓:啊帶cw咾砱

32位處理器上32位作業系統的16位編譯器,指標大小2位元組。 32位處理器上16位作業系統的16位編譯器,指標大小2位元組。

16位處理器上16位作業系統的16位編譯器,指標大小2位元組。 這從結果看起來指標的大小和編譯器有關?? 實際不是這樣的,有這樣的結果是因為以上幾種情況,處理器當前執行模式的定址位數是不一樣的,如下:

intel 32位處理器32位執行模式,邏輯定址位數32,指標也就是32位,即4個位元組

intel 32位處理器16位虛擬機器執行模式,邏輯定址位數16,指標也就是16位,即2個位元組 編譯器的作用是根據目標硬體(即cpu)的特性將源程式編譯為可在該硬體上執行的目標檔案。如果乙個編譯器支援某32位的cpu,那麼它就可以將源程式編譯為可以在該cpu上執行的目標檔案。該源程式中指標大小也會被編譯器根據該cpu的定址位數(如32位)編譯選擇為4位元組。

綜上可得:指標大小是由當前cpu執行模式的定址位數決定!

c語言關於指標的求解,C語言中關於指標的指標問題?

出釹 int x 10 p1 a x 3 x 3 3 陣列從0開始,3其實是第四個 b p1 x 3,p1 先執行p1 x 3,也就是指向x 3 因為p1定義成指標。p1 這時候先執行再加,這表示式仍然是3 c p1 x 2,p1 p x 2 x陣列的地址加2,也就是指向x 2 x 2,這時候p 同...

C語言指標與位址的問題,C語言指標與位址的問題

只有當定義指標時才可以這樣寫 int pointer p 這條語句和 int pointer pointer p 兩條語句等價 printf func pointer 是把pointer所指向的值 變數 做函式引數 printf func pointer 是把pointer的本身所儲存的值,即所指向...

考清華到底有多難,北大清華到底有多難考

也行江湖 對於大部分同學而言,清華北大都是乙個遙不可及的存在,不僅需要有努力,而且還需要有天賦。而且這個天賦,很多時候無法靠努力彌補。對於普通人而言,常常有這樣一句話 大部分時間讀書,一般可以考上一本 大部分時間認真讀書,一般可以考上211大學 所有時間讀書,一般可以考上985 所有時間認真讀書,才...