我們遇到一個非常棘手的問題,這個問題就是,對于一堆數據來說,我們進行存儲,放到一個指定的倉庫當中,先前我們使用數組加加標的形式進行訪問倉庫當中的元素位置,但是呢,現在我們使用的是一個指針結構,指針指向的是一個地址,同時使用函數malloc進行空間的開辟,但是當我們需要倉庫當中的元素時,我們應該如何拿出來使用?接下來我們來學習一下指向數組的指針以及數組名之間的區別與聯系
解釋:我們一再強調數組名就是元素的首地址,也就是數組加角標的形式,他本身就帶著自己的首地址,這就相當于是我們去一個地方聚餐,第1種情況我們認識這個地方,認識聚餐的飯店,第2種情況就是我們本身不認識聚餐的飯店的地址,但是呢,有一個叫指針的同學給我發消息,告訴了我們聚餐的飯店地址,那么我們根據給出的飯店地址,就能夠找到對應的飯店,雖然兩種方式不同,但是我們最終目的不是到達了聚餐的地方,后面的這種方式,我們用到的工具是什么呢?就是同學給我的地址值,還有就是我們的導航地圖【這里我們理解成如何行使】兩種方式對應的兩種代碼,a[i]和*[p+i]兩種形式,但是他們也有一定的區別,就是一個是常量,一個是變量,指針呢就是我們定義的一個變量,而數組名就是一個常量,對于指針的特性,我們要知道,他可以指向數組的首地址,也可以指向其他的地方,是很靈活的,是我們自己定義的,而數組名在一開始定義的時候,就說明了他是一個常量,雖然是一個常量啊,但它的本質還是一個指針,數組當中的方括號,其實我們就可以看作是一個*號,其中的i就是從起始地址向后偏移i個字節,指針名就可以看成數組名,其中的方括號就是星號,