翻譯問題
常用在→最常見於用到
這一篇是因為這個問題引發的細部問題。
「 ( ) 和 [ ] 的優先權比 * 和 ++ 高」
命令列引數
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函數(以後再來看)
沒有留言:
張貼留言
(什麼是留言欄訊息?)