問題タブ [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.

0 投票する
4 に答える
191 参照

c - C のリンク リスト コードを理解するのに助けが必要

次のコードは、ポインターを理解する上で linusから取得したものです。

6行目と8行目を理解できる人はいますか? entry->val == to_remove の場合、行 6 が評価され、*pp が削除後の次のエントリになると、その後行 8 は何をしますか? 現在のエントリは削除されています。このエントリを 8 行目で再利用するにはどうすればよいですか?

また、*pp はポインタ pp の値、&entry->next は pp のアドレスを意味することを理解していますが、いつ * を使用し、いつ & を使用するかについて常に混乱しています。具体的には、6行目は次のようになります。

8 行目は次のようになります。

そうでない場合、なぜですか?

0 投票する
2 に答える
405 参照

c++ - C++ ポインターを学習すると、次のコードでコア ダンプが発生します。なぜでしょうか?

実行すると、セグメンテーション違反(コアダンプ)。g++ バージョンは

/usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs から仕様を読み取る: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr で構成/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk - -host=x86_64-redhat-linux スレッド モデル: posix gcc バージョン 3.4.5 20051201 (Red Hat 3.4.5-2)

0 投票する
1 に答える
58 参照

c++ - オブジェクトのポインタを使用してオブジェクトのメンバー関数を呼び出す方法は?

public メンバー関数を持つ Node オブジェクトがあります。この場合、元のオブジェクトを指すポインター (またはダブル ポインター) がある場合、メンバー関数を呼び出すにはどうすればよいですか?

Node クラスのメンバー関数は次のとおりです。

そして、ここで私はその関数を呼び出そうとしています:

念のため、.setMarked() 関数は次のようになります。

0 投票する
2 に答える
589 参照

c - Double Pointer Char Array の出力で実行時エラーが発生する

学生の名前とスコアを配列に入力し、同じ情報を画面に出力するシステムの作成に取り組んでいますが、残念ながら奇妙な出力が得られます。

デバッガーを使用してプログラムをステップ実行したところ、学生の情報を出力する関数に到達するまで、すべてがスムーズに実行されることが示されました。そこでは、二重ポインターの char 配列がめちゃくちゃな値を持っています。

これは、プログラムを実行したときに表示されるイメージです。( http://s28.postimg.org/nv29feawt/Error.png )

注: これを行うためのより適切で簡単な方法があることは承知していますが、動的に割り当てられたメモリと配列を使用してこの割り当てを完了する必要があります。

0 投票する
1 に答える
364 参照

c++ - C++ での「ダブル ポインター」動的配列の使用

さて、私は行き詰まったこの課題を抱えています。助けていただければ幸いです。

基本的に、私が持っているのは、基本クラスと、その基本クラスから派生した 2 つのクラスですが、これは問題ではありませんでした。しかし、今度は、2 つのクラスのインスタンスを含む「ダブル ポインター」動的配列を持つ「コンテナー」クラスを作成する必要があります。

私の問題は次のとおりです。ここでダブルポインター配列が役立つのはなぜですか? このダブルポインター ビジネスは、私にはかなり混乱しているように思えます。グーグルで、ダブルポインターは基本的にポインターへのポインターであることがわかりましたが、ここでそれがどのように役立ち、ダブルポインター動的配列を宣言するにはどうすればよいですか?

また、2 つの異なるクラス (同じ基本クラスから派生していますが) を同じ配列に格納するにはどうすればよいですか?これは 2 つの異なるデータ型ではありませんか?

0 投票する
1 に答える
47 参照

c - ダブルポインターとしてのヘッドを持つリスト

リストのリストがある場合

そして、このスキームに従ってデータ構造を開発すると..ここに画像の説明を入力

Aノード間のBのすべてのノードを追跡するために、Bのヘッドとしてダブルポインターを使用します。したがって、realloc を使用してポインターにより多くのデータを与えると、ヘッド内で以前に割り当てられたデータを失うことはありませんよね?

0 投票する
3 に答える
4431 参照

c - C で double ポインターを型キャストする

パラメータの受け渡し中にこのエラーを理解できません。

正常に動作します。ただし、引数を明示的に型キャストすると警告が表示されます。これはなぜですか?表示される警告は次のとおりです。

私の知る限り、型キャストは、ポインターが保持しているデータの型をコンパイラーが理解するのに役立つはずです。しかし、ここではまったく役に立ちません。

0 投票する
2 に答える
201 参照

c - C の double ポインター (行列) に関する基本的な問題

私は一般的にプログラミングに比較的慣れていないので、正方行列を扱うコードを書こうとしています。残念ながら、私は開発の非常に早い段階で立ち往生しています。

initMatrix() が完了した直後に SIGSEGV になります。デバッガーを使用して、initMatrix() を閉じた後、基本的にすべてのマトリックス情報が失われることがわかりました。それはなぜです?どうすれば修正できますか?

前もって感謝します。