ある関数のchar行列の内容を別の関数の同じ次元の別の行列に渡すにはどうすればよいですか?ある関数の行列の内容を別の関数の行列に送る
1
A
答えて
1
行列の最初の要素とそのサイズにポインタを渡します。
2
行列は一定のサイズであることがわかっているので、タスクはダブルポインタ(ここではchar**
)を関数に渡すのと同じくらい簡単です。これは渡される行列を参照しています。
しかし、渡された行列の行/列が不明な場合、Cはメモリ内の配列のサイズをトラッキングしないため、次元を渡す必要があります(構文上の砂糖を指すポインターではありません)。
3
memcpy関数のマトリックスの内容をコピーすることができます。
/*
* mat: matrix to duplicate.
* rows: rows in mat.
* cols: cols in mat.
*/
void matdup(char mat[][],size_t rows,size_t cols){
char dupmat[rows][cols];//duplicate matrix in stack.
memcpy((void*)dupmat,(void*)mat,rows*cols);
//do stuff with matrix here.
}
これで、matdup関数内で使用する新しい行列を作成できます。
+1
+1です。 「void *」にキャストする必要はありませんが、 – Christoph
関連する問題
- 1. matlabの行列に関係する関数のヘッセ行列を計算する
- 2. 行列へのハッシュ関数
- 3. データ行列関数
- 4. nrow(行列)関数
- 5. 空の行列を関数に渡す
- 6. 文字列と関数内の変数を別の関数に渡す
- 7. SQL ServerのSTUFF()関数は、空白行の列にある
- 8. プロトタイプで配列内の関数オブジェクトを実行する方法
- 9. jQueryである関数から別の関数に配列を渡します。
- 10. MATLAB関数行列パラメータ
- 11. 複数の行を1つの列に結合する関連するテーブルが3つあるOracleの関数
- 12. 'around'アドバイスの内容を別の関数から実行できますか?
- 13. 関数内のC++配列
- 14. 関数内のPLPGSQL配列
- 15. GNU Octaveの行列リサイズ関数
- 16. CのUTF8文字列関数の内容(
- 17. 行列を関数に渡す問題
- 18. 行列の行にノルム関数を適用 - MATLAB
- 19. 行列の行を関数に渡すC
- 20. 複数の代用データセットの列のサブセットの相関行列
- 21. 関数内の配列に関するコンソールログの動作
- 22. 関数内の変数を別の関数に呼び出す#
- 23. 列内の行数=> Cassandra
- 24. 1つのJS関数から別のJS関数にJSON配列データを送信する方法は?
- 25. 行列の異なる列に異なる関数を適用する
- 26. java内の別の関数から関数をロックする
- 27. 他の関数の引数を知らずに関数呼び出しを別の関数に転送する
- 28. C++の指数関数複素数行列
- 29. 行列またはデータフレームのすべての行に関数を適用する
- 30. ファイルの内容をパイプに送り、1行で#行を数える
これは、彼の行列が配列へのポインタの配列と呼ばれていると仮定していますが、ちょうどその配列が規則的な連続した2次元配列 – newacct