C言語の関数は、多くの場合、二次元アレイを通過する必要があり、以下の3つの方法を実装することができるがあります。
この方法は、パラメータは、二次元の長さを与えます。
例えば:
する#include <stdio.hの>
ボイドFUNC(整数nは、 文字列str [] [5] )
{
int型私は、
(私は++; iがn <I = 0)のため
のprintf( "/ NSTR [%のD] =%S / N"、I、STR [I])。
}
ボイドメイン()
{
するchar * P [3]。
文字列str [] [5] = { "ABC"、 "DEF"、 "GHI"}。
FUNC(3、STR)。
}
第2の方法のパラメータは、アレイへのポインタとして宣言されています。
例えば:
する#include <stdio.hの>
ボイドFUNC(整数nは、CHAR (* STR)[5] )
{
int型私は、
(私は++; iがn <I = 0)のため
のprintf( "/ NSTR [%のD] =%S / N"、I、STR [I])。
}
ボイドメイン()
{
するchar * P [3]。
文字列str [] [5] = { "ABC"、 "DEF"、 "GHI"}。
FUNC(3、STR)。
}
3つの方法がポインタへのポインタとして宣言されたパラメータ。
例えば:
する#include <stdio.hの>
ボイドFUNC(整数nは、チャー** STR)
{
int型私は、
(私は++; iがn <I = 0)のため
のprintf( "/ NSTR [%のD] =%S / N"、I、STR [I])。
}
ボイドメイン()
{
CHAR * P [3]。
文字列str [] [5] = { "ABC"、 "DEF"、 "GHI"}。
P [0] =&STR [0] [0]。
P [1] = STR [1]。
P [2] = STR [2]。
FUNC(3、P)。
}