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 返回二者之中較大者...