配列の入出力を使用してC関数を作成する方法

Ercan DUZGUN

親愛なるCプログラミングユーザーの皆さん、入力と出力の両方が配列するC関数を使用してCプログラムを作成するにはどうすればよいですか?

具体的には、2つの4x4行列を入力として与えたい場合、関数はその2つの行列を乗算し、結果の行列の出力を再び4x4行列サイズにしますか?(たとえば、入力はAとB、出力はDです。A(4x4)* B(4x4)= D(4x4))。

2つの行列を乗算できるメインプログラムコードを見つけて記述しました。しかし、それをC関数に入れることはできませんでした。C関数は数値のみを出力し、配列や行列は出力しないことを学びました。

Cプログラミングでその問題を回避するにはどうすればよいですか?

前もって感謝します。

GermanNerd

両方の配列をポインターとして関数に渡す必要があります。これは、対応する配列の名前を渡すだけで簡単に実現できます。戻り値 'value'に関しては、さらに別の配列へのポインターを返すように関数を定義することができます。しかし、そこには問題があります。誰がそのアレイを所有しているのでしょうか。実際には、2つ(3つ)の実行可能なオプションがあります。

1)出力配列をグローバル変数として宣言します。良い習慣ではありません。

2)両方のソース配列と同じ場所で出力配列を宣言し、その出力配列のアドレスを3番目のパラメーターとして関数に渡します。

3)(非推奨です!)関数内で出力配列を静的として宣言し、それへのポインターを返すことができます。

PS:実際には他に2つの方法がありますが、混乱させないでください。

1)ちょっとしたトリックで、実際に配列全体を関数に渡すことができます。配列を構造体に入れることができます。構造体は(すべてのコンテンツとともに)値によって渡されます。ただし、個人的にはこれはエレガントではなく、配列を含む構造体のすべてをスタックにコピーする必要があるため、パフォーマンスが低下します。

2)関数は、出力配列をヒープに動的に(mallocまたはcallocを使用して)割り当て、その配列へのポインターを返すことができます。ただし、これにより、関数の呼び出し元は後でそのメモリを再びfree()することになり、それは非常に簡単に見落とされます。これにより、メモリリークが発生します。また、ヒープの割り当ては、処理時間の点で非常に高価です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

入力を使用して関数を作成する方法は、C ++の2D配列です。

分類Dev

C言語の関数を使用して配列の値を出力する

分類Dev

JSの入力配列に基づいて動的出力を作成する関数を記述します

分類Dev

関数でreallocを使用して構造体の動的配列を作成する方法

分類Dev

JavaScriptでFirebase関数を使用して既存のFirebaseDB配列に挿入する方法

分類Dev

配列を使用して1つの入力から複数の値を出力する方法は?

分類Dev

関数を介して2D配列を出力するC ++

分類Dev

関数を介して配列を操作する出力のCエラー

分類Dev

配列のないforループを使用して、cで特定の数値スパイラルパターンを出力するコードを作成する方法

分類Dev

Mongodbでaggregateを使用して応答の出力に配列を作成する方法

分類Dev

関数出力を別の関数の配列に挿入する方法

分類Dev

配列入力と配列出力を使用してPostgreSQL用の単純なC関数を作成します

分類Dev

関数を使用して入力の文字値を出力する

分類Dev

多変数関数の入力として配列を使用する

分類Dev

Eigen:関数を使用して3D配列を作成する

分類Dev

c ++入力データを使用して配列を作成する

分類Dev

ストリームを使用して関数の配列を作成する

分類Dev

配列関数を1つの配列に出力する方法は?

分類Dev

関数の出力を文字列変数として使用する

分類Dev

Numpy配列を入出力用のC関数に渡す

分類Dev

java:.txtのデータを使用して複数の配列を作成する方法

分類Dev

関数内で配列を使用するためのC ++では、ifstreamを使用して.txtファイルから配列にデータを入力します

分類Dev

echophpを使用して配列の出力を取得する方法

分類Dev

laravelを使用して複数の配列をmysqlに挿入する方法

分類Dev

関数の引数として文字列配列を使用する

分類Dev

Cで引数として配列を使用する関数

分類Dev

ループを使用しながら、関数の出力をPythonの配列に入れる方法はありますか?

分類Dev

in_array関数を使用して2つの配列を比較する方法

分類Dev

TensorFlowを使用して未知の配列間関数を決定する方法は?

Related 関連記事

  1. 1

    入力を使用して関数を作成する方法は、C ++の2D配列です。

  2. 2

    C言語の関数を使用して配列の値を出力する

  3. 3

    JSの入力配列に基づいて動的出力を作成する関数を記述します

  4. 4

    関数でreallocを使用して構造体の動的配列を作成する方法

  5. 5

    JavaScriptでFirebase関数を使用して既存のFirebaseDB配列に挿入する方法

  6. 6

    配列を使用して1つの入力から複数の値を出力する方法は?

  7. 7

    関数を介して2D配列を出力するC ++

  8. 8

    関数を介して配列を操作する出力のCエラー

  9. 9

    配列のないforループを使用して、cで特定の数値スパイラルパターンを出力するコードを作成する方法

  10. 10

    Mongodbでaggregateを使用して応答の出力に配列を作成する方法

  11. 11

    関数出力を別の関数の配列に挿入する方法

  12. 12

    配列入力と配列出力を使用してPostgreSQL用の単純なC関数を作成します

  13. 13

    関数を使用して入力の文字値を出力する

  14. 14

    多変数関数の入力として配列を使用する

  15. 15

    Eigen:関数を使用して3D配列を作成する

  16. 16

    c ++入力データを使用して配列を作成する

  17. 17

    ストリームを使用して関数の配列を作成する

  18. 18

    配列関数を1つの配列に出力する方法は?

  19. 19

    関数の出力を文字列変数として使用する

  20. 20

    Numpy配列を入出力用のC関数に渡す

  21. 21

    java:.txtのデータを使用して複数の配列を作成する方法

  22. 22

    関数内で配列を使用するためのC ++では、ifstreamを使用して.txtファイルから配列にデータを入力します

  23. 23

    echophpを使用して配列の出力を取得する方法

  24. 24

    laravelを使用して複数の配列をmysqlに挿入する方法

  25. 25

    関数の引数として文字列配列を使用する

  26. 26

    Cで引数として配列を使用する関数

  27. 27

    ループを使用しながら、関数の出力をPythonの配列に入れる方法はありますか?

  28. 28

    in_array関数を使用して2つの配列を比較する方法

  29. 29

    TensorFlowを使用して未知の配列間関数を決定する方法は?

ホットタグ

アーカイブ