指標 陣列 優點缺點分析 及 呼叫函式的流程

2021-07-25 07:59:23 字數 788 閱讀 2153

1.指標的優勢:

①可以直接訪問硬體 訪問速度快

②提高空間的利用率

③指標使用地更加靈活

空間分配

訪問效率

指標儲存的是位址

(4位元組) 直接 快

陣列儲存的是一片連續的空間

定位加減

2.指標與陣列的區別:

①空間分配

指標是動態分配空間,通過malloc在堆上分配所需要的空間,分配的空間不一定連續,在使用完之後需要呼叫free來釋放空間,

而陣列是靜態分配空間,在全域性變數區或者棧上分配空間,分配的空間是連續的,

區域性變數在宣告週期結束後自動釋放,全域性變數在程式結束完自動釋放。

②訪問效率

指標是通過位址間接訪問,而陣列是直接訪問數值,因此指標的訪問效率低,陣列的訪問效率高

③安全性

指標使用不當會造成記憶體洩漏,陣列使用不當會造成陣列越界

④函式形參

陣列要用相應的指標當引數,而指標要用指標的指標來當引數

⑤位元組大小

指標的位元組大小是固定的,由作業系統決定,陣列的位元組大小由陣列大小和陣列指向的型別共同決定

⑥識別符號

指標名是變數,陣列名是指標常量,所以指標p可以進行p++,陣列名不行

3.函式的執行過程:

①通過函式名找到函式入口

②給形參分配空間

③傳參④執行函式體裡面的語句

⑤返回,釋放空間

4.當只使用,不修改實參變數對應空間的值,傳實參變數名

既要使用,也要修改,傳實參變數對應空間的位址。

函式指標及函式指標陣列的妙用

筆者在開發某軟體過程中遇到這樣乙個問題,前級模組傳給我二進位制資料,輸入引數為 char buffer和 int length,buffer是資料的首位址,length表示這批資料的長度。資料的特點是 長度不定,型別不定,由第乙個位元組 buffer 0 標識該資料的型別,共有256 28 種可能性...

函式指標及函式指標陣列的妙用

筆者在開發某軟體過程中遇到這樣乙個問題,前級模組傳給我二進位制資料,輸入引數為 char buffer和 int length,buffer是資料的首位址,length表示這批資料的長度。資料的特點是 長度不定,型別不定,由第乙個位元組 buffer 0 標識該資料的型別,共有256 28 種可能性...

C 函式指標定義及呼叫

今天在一問一答審核題目的時候發現乙個題目的題幹是錯的,主要意思就是定義乙個函式指標,現在將修改後的結果放上來,給出定義函式指標的方法 日期 2013.5.8 功能 定義函式指標,並且呼叫 includeusing namespace std int max int a,int b 返回二者之中較大者...