関数のパラメータが配列であります

一次元配列

関数の定義

:関数の定義は次の4つの方法があります
一つの方法は:

void testfunc(int a[], int size)

第二の方法:

void testfunc(int* a, int size)

三つの方法:

void testfunc(int a[10], int size)

4つの方法:

template<class T>
void testfunc(T a, int size)

ウェイ5:

template<class T>
void testfunc(T& a, int size)

いいえ、第3の実施形態の数[]簡単実際に埋めることができ、最初の4つの方法は、関数に、タイプがint *はsizeof()4である、すなわち、ポインタのバイト数であるですint型は、はsizeof()4であり、そして一般に第三の実施形態を使用しない、配列の長さは、パラメータとして渡さなければならない*、アレイが範囲外に与えられていると述べました。型の第5の実施の形態では、はsizeof()* 4 = 20 INT [5](長さ5の渡された引数のint配列を仮定して)である
すべての上記で定義されたメソッド、関数のパラメータ配列を変更、配列引数を変更します。

関数呼出し

あなただけの一方通行の関数にパラメータとして配列を呼び出すとき:

testfunc(a, size)

二次元配列

関数の定義

:関数の定義は次の4つの方法があります
一つの方法は:

void testfunc(int a[][3], int size0, int size1)

第二の方法:

void testfunc(int(*a)[3], int size0, int size1)

三つの方法:

template<class T>
void testfunc(T a, int size0, int size1)

4つの方法:

template<class T>
void testfunc(T& a, int size0, int size1)

最初の3つは、関数に、タイプがint(*)[3]、であるではsizeof() は4、即ち、ポインタのバイト数;本実施例は、int型である[2] [ 3]はsizeof()2x3x4 = 24であり、([2] [3] int配列の長さの渡された引数を仮定して)
列の数は、パラメータ定義を記述する必要がある場合、行の数を書いていない、ことを注意。

関数呼出し

あなただけの一方通行の関数にパラメータとして配列を呼び出すとき:

testfunc(a, size0, size1)
公開された52元の記事 ウォンの賞賛0 ビュー685

おすすめ

転載: blog.csdn.net/UniversityGrass/article/details/104679139