歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C語言二維數組字符串的賦值

今天用到了C語言二維數組作為參數傳遞的程序,通過網上搜索,針對自己遇到的問題做個整理。

1、在被調用函數的形參數組定義可以省略第一維的大小,第二維不可省略,如下:

    void fun(int a[5][20]); //合法
    void fun(int a[][20]); //合法
    void fun(int a[5][]); //不合法
    void fun(int a[][]); //不合法
    將二維數組作為形參時,第一維大小可以省略,第二維不可省略,這是有編譯器原理限制的,在內存中按數組排列規則存放(按行存放),而並不區分行和列,如果在形參中不說明列數,則系統無法決定應為多少行多少列。
2、實參數組維數可以大於形參數組維數,如:

    void fun(int a[5][20]);//形參為a[5][20]
    int a[10][20]; //定義實參數組

    這時形參數組只去實參數組的一部分數據。
3、字符串二維數組賦值
    3.1、初始化賦值
    void fun(char a[][20])
    {
    //實現函數功能
    }
    void main()
    {
      char str[][20]={"123","456","789"};
      fun(str);
    }

    3.2、采用strcpy函數,需要#include<string.h>
    void fun(char a[][20])
    {
    //實現函數功能
    }
    void main()
    {
      char str[3][20];
      strcpy(str[0],"123");//或者用sprintf(str[0],"123");
      strcpy(str[1],"456");//或者用sprintf(str[1],"456");
      strcpy(str[2],"789");//或者用sprintf(str[2],"789");
      fun(str);
    }

C++ 隱式類類型轉化 Implicit Class-Type Conversions http://www.linuxidc.com/Linux/2013-01/78071.htm

C語言變長數組之剖析 http://www.linuxidc.com/Linux/2013-07/86997.htm

C語言需要注意的問題 http://www.linuxidc.com/Linux/2013-05/84301.htm

C語言位域的使用及其注意點 http://www.linuxidc.com/Linux/2013-07/87027.htm

C語言中簡單的for循環和浮點型變量 http://www.linuxidc.com/Linux/2013-08/88514.htm

Copyright © Linux教程網 All Rights Reserved