指標陣列做函式形參
阿新 • • 發佈:2019-01-07
應用場景
從程式設計角度來看,將多個字串傳遞給函式處理時,因為傳遞的是一維陣列,形參的定義比較簡單。例如,函式strsort()可對多個字串進行排序,函式頭的定義形式如下:
void strsort(char *s[],int n)
形參char
*s[]為字元指標陣列,將要處理的指標陣列的首地址作為實參傳入。形參int n表示要處理的字串的數量。
應用舉例
C/C++語言中的main函式,經常帶有引數argc,argv,如下:
int main(int argc, char** argv)
int main(int argc, char* argv[])
這兩個引數的作用: argc 是指命令列輸入引數的個數(以空白符分隔) argv儲存了所有的命令列引數假如你的程式是hello.exe,如果在命令列執行該程式,(首先應該在命令列下用 cd 命令進入到 hello.exe 檔案所在目錄) 執行命令為:
hello.exe
Shiqi Yu
那麼,argc的值是 3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。
下面的程式演示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
將得到
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.