問題タブ [double-pointer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java でポインターとメモリ割り当てを使用してアルゴリズムを実装する方法
C++ のアルゴリズムがあり、Java で同様のものを実装する必要があります。メモリ割り当てに問題があります。たとえば、次のスニペットを C++ から Java に移行するにはどうすればよいですか?
char *x = (char *) malloc(256); のような単純な malloc については知っています。Java では、次のように言います: ByteBuffer x = ByteBuffer.allocate(250);
もっと複雑なものについては、私は混乱します。
前もって感謝します
c++ - Cのダブルポインタ
誰かがここで何が起こっているのか詳しく説明してください。
出力:-
- 4(なぜ?)
c - C - データのインターリーブ解除
C プログラムでは、float データへの 2 つの double ポインターがあります。
実行時にサイズが設定され、同じになります。ソースから宛先にデータをコピーしたいのですが、ソース データがインターリーブされており、データのインターリーブされていないコピーを宛先にしたいと考えています。したがって、ソースは次のようになります。
コピーでは、destを次のように表示します。
コンパイル時にデータのサイズを知っていれば、次元 MxN と NxM の配列を作成できますが、作成できません。私の脳の「Cポインター」部分は何年も使われておらず、かなり錆びています。どんな助けでも大歓迎です。
c++ - パスからファイル名を抽出する
了解しました。次の情報があります。
これは、リストボックスに追加されているファイルのリストを保持します。問題は、ファイルパス全体が表示されることです。名前だけを取得したいのですが、私は使用することを考えました:
filePathListの最後から開始し、に到達するまで戻り\
ます。問題は、これをどのように管理するかが完全にはわからないことです。これは私がこれまでに持っているコードです:
問題は、VisualStudioがtempCharを「不良ptr」として報告していることです。私はプログラミングに関してはまだ本当に環境に配慮していて、ポインターについてはほとんど知らず、ダブルポインターについてはほとんど知らないことを認めます。しかし、どんな助けでも大歓迎です。ありがとうございました。
c++ - **変数と変数[][]の違いは?
2D配列の内容をではなくで受信する必要がある理由がわかりb[][3]
ません **b
。また、2D配列の値で呼び出すにはどうすればよいですか?また、2D配列のアドレスは次のarr
内容にarr
等しい*arr
です&arr[0][0]
。すべてのアドレスは同じです。私はそれをはっきりと視覚化することができません。多次元配列が実際にどのように格納されているかを誰かに説明してもらえますか。「絵の役に立つリンクは歓迎されるでしょう」。
c++ - C++ オブジェクトへの二重ポインタ
別のプログラマーが作成した非常に長いプログラムを変更する必要があります。彼のコードを調べてみると、C++ オブジェクトへのポインターが 2 つあることがわかります。この場合にダブルポインターが使用される理由がわかりません。シングルポインターでも同じことができると思います。例はそれをより明確にします:
クラスから多数のオブジェクトが必要です。B
たとえば、5 つのオブジェクト (オブジェクトの 2D 配列ではありません) が必要です。を作成するb
と、コードが *b を改ざんすることはありません。によって呼び出されるのは B の関数だけb[i]->func1()
です。したがって、ポインターを変更しないので、 を定義することで同じことができると思いstatic B* b;
ます。私は何かを無視していますか?
c++ - 自己作成された構造体を指すダブル ポインター - コンパイラーが OK と言う - プログラムが中止する
今、私は試験(大学)の準備をしていて、自分の演習を作成することを考えていました. マトリックス内の場所 (構造体への二重ポインターで実装) が私の構造体の型のオブジェクトで満たされているパスカル三角形をプログラミングすることを考えました。
これが私のコードです:
}
プログラムは多くの奇妙なことを行いますが、それがすべきことではありません。コンパイラーは OK と言いますが、実行するとエラー コードが表示されます。
その時点で、どういうわけか私の変数 i の値は -33651 ...
コードの問題がどこにあるか教えていただけますか?私は知っています、プログラムには実際の機能はありません...ダブルポインター、構造体、文字列(文字列の追加...)で少し練習したかっただけです。
前もって感謝します!
よろしくお願いします、
マヌエル
c - ダブルポインタと関数内のポインタを変更する方法
このopencvの例では、(ポインターの代わりに)単純な変数imgを作成してから、関数のパラメーターで単純なポインターを使用しなかったのはなぜですかcvReleaseImage
(ここでは、パラメーターで二重ポインターを使用します。ポインタのアドレスを再渡します:) &img
:
?
また、関数で単純なポインターを使用する場合、ポインターに別*
のポインターを追加することで、ポイントされた値を変更できます。
例えば :
したがって、ダブルポインターを使用して、これを実行する必要がありますか?:
ご協力いただきありがとうございます
c - C で実装されたリンク リストでのシングル ポインターとダブル ポインターの使用
リンクリストの最後に要素を追加するためのこのコードを書いていました:
そして、次のように追加関数を呼び出します。
リンクされたリストへのポインターはappend(&list, 10);
どこですかlist
このコードは機能しますが、追加関数で単一のポインターを使用し (**q の代わりに *q を使用)、それに応じて変更を加えると (以下で行うように、また呼び出すときにも)、機能しません。以下のコードの何が問題になっていますか?:
c - (int**)malloc(sizeof(int*))
malloc
配列へのポインターの配列を作成するには、構文は次のようにする必要があることを知っています。
numberOfDesiredElements*
うっかり、サイズの前にを入れ忘れました。ランダムなセグメンテーション違反をスローしてプログラムを台無しにしていました。つまり、プログラムが正しく出力されることもあれば、セグメント違反が発生することもありました。
必要なスロット数を示さなかったときに何が起こったのか、誰か説明できますか?
ありがとう!