[導讀]1.12[arry]? = *(arry + 2) = arry[2]1.2下標絕不會比指針更有效率,但指針有時會比下標有效。結論:? ? 1.當根據某個決定數(shù)目的增量在一個數(shù)組中移動的時候,使用指針
1.1
2[arry]? = *(arry + 2) = arry[2]
1.2
下標絕不會比指針更有效率,但指針有時會比下標有效。
結論:
? ? 1.當根據某個決定數(shù)目的增量在一個數(shù)組中移動的時候,使用指針比使用下標產生效率更高的代碼。當這個增量是1并且機器具有地址自動增量模型時,這點表現(xiàn)更突出。
? ? 2.聲明為寄存器變量的指針通常比位于靜態(tài)內存和堆棧中的指針效率更高。
? ? 3.如果可以通過測試一些已經初始化并經過調整的內容來判斷循環(huán)是否應該終止,就不需要使用單獨的計數(shù)器。
? ? 4.那些必須在運行時求值的表達式較之諸如&arry[SIZE]或(arry + SIZE)這樣的常量表達式往往代價更高。
1.3
傳址調用是通過傳遞一個指向所需元素的指針來實現(xiàn)的,函數(shù)得到的是該指針的拷貝。
void?strcpy(?char?*bugger,?char?const?*string) { ????while(?(*buffer++?=?*string++)?!=?'