在設計函數過程當中,想要函數參數傳入一個指針數組,多爲字符串數組,在函數形參的設計上有兩種思路,具體如下列兩種應用場景爲說明
1、字符串處理函數strsort
從程序設計角度來看,將多個字符串傳遞給函數處理時,由於傳遞的是一維數組,形參的定義比較簡單。例如,函數strsort()可對多個字符串進行排序,函數頭的定義形式以下:數組
void strsort(char *s[],int n)
形參char *s[]爲字符指針數組,將要處理的指針數組的首地址做爲實參傳入。形參int n表示要處理的字符串的數量。函數
2、main函數形參
C/C++語言中的main函數,常常帶有參數argc,argv,以下: spa
int main(int argc, char** argv) int main(int argc, char* argv[])
下面的程序演示argc和argv的使用:設計
#include <stdio.h> int main(int argc, char ** argv) { int i; for (i=0; i < argc; i++) printf("Argument %d is %s.\n", i, argv[i]); return 0; }
假如上述代碼編譯爲hello.exe,那麼運行指針
hello.exe a b c d e
將獲得code
Argument 0 is hello.exe. Argument 1 is a. Argument 2 is b. Argument 3 is c. Argument 4 is d. Argument 5 is e.