Q&A
解決済
1回答
898閲覧
総合スコア13
C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。
Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。
C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
0グッド
0クリップ
投稿2019/02/26 10:42
0
以下のQiitaのサイトを参考にPythonからC言語の関数を呼び出す処理を書いているのですが、多次元配列を受け取る際に要素数が呼び出すC言語側の関数の実行結果に依存するので、事前に知ることができません(参考サイトでは引数に要素数のパラメータが指定されています)。 充分大きな配列を作っておく(のちに加工)か、関数を二回実行するくらいしか思いつきません。 なにか良い方法はありませんでしょうか?
Qiita: PythonからC言語の関数を呼び出して多次元配列をやり取りする
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答1件
ベストアンサー
C側でmallocして、配列と要素数の参照を返した後、pythonで読み取ってpythonオブジェクトに変換してからfreeとか。実装は楽ですが、少し無駄があります。
Cのコードでnumpy配列を組み立てて直接返すこともその気になればできたと思いましたが、手間なのでcythonを使ったほうが恐らく楽でしょう。
投稿2019/02/26 14:45
総合スコア30939
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
PythonからC言語の関数を呼び出して未知のサイズの多次元配列を受け取る方法
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。