指針數組做函數形參


在設計函數過程中,想要函數參數傳入一個指針數組,多為字符串數組,在函數形參的設計上有兩種思路,具體以下列兩種應用場景為說明

一、字符串處理函數strsort

從程序設計角度來看,將多個字符串傳遞給函數處理時,因為傳遞的是一維數組,形參的定義比較簡單。例如,函數strsort()可對多個字符串進行排序,函數頭的定義形式如下:

void  strsort(char *s[],int n)

 

形參char *s[]為字符指針數組,將要處理的指針數組的首地址作為實參傳入。形參int n表示要處理的字符串的數量。

二、main函數形參

C/C++語言中的main函數,經常帶有參數argc,argv,如下: 

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

 

將得到

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.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM