欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

學習c語言的時候指針應該怎么理解

錢瀠龍2年前16瀏覽0評論

學習c語言的時候指針應該怎么理解?

指針是初學C語言的一個難點。我只能盡量說得淺顯一些,希望能幫到您。

傳值還是傳引用

當我們調用一個函數的時候,需要考慮是向函數里傳遞一個變量值還是傳遞變量引用的問題。如果不希望函數的內部處理改變外部的變量值,那么就需要傳值也就是用變量名作為參數。如果希望函數的內部處理直接改變外部參數的值,那么就需要傳引用,也就是把變量的指針作為參數傳進去。

地址跟指針的異同

指針的值是一個地址,這是指針和地址相同的地方。但指針是有類型的而地址卻沒有。指針的類型的作用是讓指針運算可以按照其類型的大小移動指針。在C語言中以char為例

char a;表示a是個變量char *a;表示a是個指針,取指針指向的變量的值要用*a不管a是指針還是變量,&a都是a的地址。指針的應用

指針最典型的應用就是做鏈表。鏈表是通過指針收尾相接連起來的數組,由于可以從中間截斷再接上非常方便快捷,鏈表是C語言的一個特色。另外,還有函數指針,結構體指針,這些指針可以用來傳遞復雜的變量,特別是使用函數指針可以做出來很多巧妙的程序。

指針的弊端

在定義指針的時候必須對指針進行初始化,也就是讓指針指向一個實際的變量,否則,極易因為指向錯誤內存而引起系統崩潰。C語言的指針給操作系統的內存安全帶來了不小的麻煩,因為它給黑客提供了窺視他人情報的手段。

總結一下,指針最主要的作用就是傳遞引用,在沒有指針變量的語言中也需要對值和引用做規定,比如,C#中使用關鍵字ref來表示傳遞的是引用,而Java的類只能傳遞引用。C語言的指針盡管難理解,但卻是最靈活的。抓住這一點,相信會好理解一點。

java 類的傳遞,學習c語言的時候指針應該怎么理解