c++ 动态分配数组_C/C++编程笔记:「C语言指针」民间解读版本
相信很多同學在初學C語言時候,都會遇到遇到一個問題:指針,永遠的神!
好消息,這個痛點將會在這篇文章得到解決,媽媽再也不用擔心我的學習了!
一說指針,第一反應,指針是一種數據類型。
c語言學習,重點就是兩個,一個是數據的數據類型,一個就是程序的結構。
整個C語言學習體系,在初學階段就接觸基本數據類型,整形實型字符型;然后是三大基本結構順序循環分支,隨后的內容幾乎都是對數據類型的擴充結構體 指針 鏈表 數組……
那么數據類型是什么?
數據類型就表示它能夠存儲什么類型的數據,整型有什么用呢?我在什么情況下需要使用一個int x呢?簡單,你想獲取一個存儲單元,用于存儲一個整型數據;同理,你定義一個實型是為了獲取一個范圍那么大,精度那么多的一個實型變量。
那么指針是一種什么類型的變量呢?什么情況下我需要定義一個指針,我要用這個指針存儲什么樣子的數據?
只要有數據類型,就要想:這種類型怎么定義,這種數據類型存儲什么形式的數據。
指針,用于保存某個單元的地址,你只要想存儲某個單元的地址,你就需要定義一個指針,接著,你存一個地址的目的是什么?是要對一個單元進行間接訪問。
訪問單元的方式就是兩種:直接訪問和間接訪問。
直接訪問就是直接使用變量名,系統就會找到這個變量所在的單元,對他進行或讀或寫操作。
只要你在表達式使用了變量名,系統就會通過名字找到他所在的單元,找到做什么?或讀或寫,到底是讀還是寫,取決于變量名所在的位置,如果出現在賦值號左邊,就是寫入一個值,如果是打印到屏幕上,就是進行讀。
對于間接訪問,先要定義一個指針,然后用這個指針指向你想要訪問的單元,在指針變量名前面加一個*術語叫做間接運算符,可以把指針指向的內容表示出來。
為什么要使用間接訪問?
使用變量名直接訪問單元,它不香嗎?為什么要引入間接訪問,使用間接訪問有好處嗎?間接訪問不是自己給自己找別扭嗎?
不是!間接訪問有非常重要的作用,主要體現在幾個方面:
(1)為了在函數中改變主調函數的存儲單元,沒有間接訪問你就不可能實現.
(2)使用間接訪問為了動態分配存儲單元,從而對單元進行操作,并且在此基礎上實現鏈式存儲結構,也就是鏈表.
(3)為了能夠動態分配存儲單元,并在此基礎上實現動態數組。之前,定義變量,數組是靜態數組獲得10個存儲空間,而數組一旦分配好存儲空間,長度就不能變化。但是動態數組不一樣,當滿了以后可以擴充空間。
(4)通過指針訪問一段連續的存儲空間
如果使用直接訪問,使用變量名就只能訪問我單元本身,而使用間接操作有了指針,p指向一個單元,不僅可以通過*p把當前指針指向的單元間接表示,還可以通過指針的移動把存儲空間前后任意的存儲單元表示出來。
可以說,指針是C語言的靈魂。一個人的C語言基礎好不好,很大一部分都看他對于指針的理解程度有多深。所以希望同學們可以對指針的內容反復研習,反復實踐。
感謝閱讀,學習使人強大。
如果你想更好的提升你的編程能力,成為一個強大的C/C++程序員!不妨和一些志同道合的小伙伴一起學習成長!
C語言C++編程學習交流圈子,關注+私信【C/C++編程】微信公眾號:C語言編程學習基地
有一些源碼和資料分享,歡迎轉行也學習編程的伙伴,和大家一起交流成長會比自己琢磨更快哦!
總結
以上是生活随笔為你收集整理的c++ 动态分配数组_C/C++编程笔记:「C语言指针」民间解读版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 799 元:小米 米家扫拖机器人 1T
- 下一篇: OpenCV VideoCapture