C言語の配列形式パラメータの定義方法

C言語で配列の形参を定義する方法は次のとおりです。

  1. 配列のアドレスを渡す:ポインタを形式パラメータとして使う。 配列の形式パラメータを定義する際、ポインタ型宣言を使うことができます。 例えば、
  2. void functionName(int *arr, int size) {
    // 関数の本体
    }
  3. この状況では、配列の要素に、関数の内部からポインタを使用してアクセスして変更できます。
  4. 配列内のデータを渡す時、配列のサイズを明示的に指定する方法である。 配列の仮引数を定義する際、具体的な配列の型宣言を使用してサイズを指定できます。例:
  5. void関数名(int配列、intサイズ){
    // 関数本体
    }
  6. ポインタ記号を使わず、配列型を使用する以外の点は、最初の方法に似ています。

関数呼び出しでは、配列の仮引数に渡す実引数は配列型でなければならず、ポインター型ではいけないことに注意してください。

int main() {
    int *arr = malloc(sizeof(int) * 10); // 动态分配数组内存
    functionName(arr, 10); // 错误!arr是指针类型,而不是数组类型
    free(arr);
    return 0;
}

具体型の配列を使うのが正攻法です。

int main() {
    int arr[10]; // 声明一个具有10个元素的数组
    functionName(arr, 10); // 正确!传递数组类型
    return 0;
}
bannerAds