K&R2心得//指標與陣列(下)
¶K&R2心得//指標與陣列(下)
原文連結: https://darkblack01.blogspot.com/2011/04/k.html
移植時的最後更新日期: 2015-12-23T14:16:57.639+08:00
翻譯問題
常用在→最常見於用到
這一篇是因為這個問題引發的細部問題。
命令列引數
int main(int argc, char* argv[])
argc : argument count (參數計數)
argv : argument vector (參數指標陣列)
命令格式:
執行檔檔名<空格>參數1<空格>參數2<空格>…<空格>參數argc-1
main參數處理方式如下:
argv[0] -> 執行檔檔名
argv[1] -> 參數1
argv[2] -> 參數2
…
argv[argc-1] -> 參數argc-1
argv[argc] -> NULL
標準版(ANSI C)規定argv[argc]是存著NULL指標。
因為main的引數宣告有一定的複雜度
在程式裡使用時,也會引起一連串的複雜度(增加程式本身複雜度和易讀性)
**++argv = (++argv)[0](逐指標走訪、指向指標第一個字元)
≠
argv[0] = *(argv[0]) (逐字檢查)
指向函數的指標
int (*comp)( ) (還是看不太懂!)
≠
int *comp( )
複雜宣告(使用機會超少)
強迫轉型的寫法,常用在指向函數的指標時。(其實不一定)
C的語法設計要使宣告時與使用時的寫法盡可能一致。(講過了,就不標紅色了)
dcl函數(以後再來看)
發表於