問題タブ [pointer-to-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.
c - コードで構造体ポインターへのポインターを使用すると、戻り値 3221225477 が発生します。
以下の私のコードで何が間違っていますか?
Dev C++ コンパイラでコンパイルすると、エラーや警告は表示されません。しかし、プログラムを実行した後、実行エラーと次の戻り値のテキストがあります。
プロセスは 5.1 秒後に戻り値 3221225477 で終了
しました。続行するには任意のキーを押してください。. .
何が間違っているのですか?
デバッグ機能を使用すると、次の行でエラーが発生します。
私のコードは次のとおりです。
c - Cのポインタへの定数ポインタのメカニズムはありますか?
C/C++ では、関数呼び出しで「const int **」を使用できるのだろうか?
ポインタからポインタへのポインタでアクセスできる行列があるとします。この行列を使用し、この行列の値の変更を禁止する場合、「func(const int **mat)」を実行できますか? これを試してみましたが、「a = mat[0][0]」のようなことをすると、エラーメッセージが表示されます。
「const int **」の使用が許可されているのだろうか、またはそれを行う正しい方法は何ですか?
ありがとう!
c++ - 動的に割り当てられたメモリを指すときに、ポインタへのポインタが割り当てられる値は何ですか?
次のケースを検討してください。
- ここで my_array に何を割り当てますか?
my_array
何を指すポインタですか?- my_array (ポインター) を反復処理して、整数の 2 次元配列 (int* ではない) を設定する方法はありますか?
c - ポインターへのポインターを使用してリンクされたリストに挿入する方法
Think は新しい要素を名前順に挿入する機能です。if を使って、最初に挿入する条件とそれ以外の条件を分ける方法がわかりました。しかし、if と while を 1 つの while ループにマージするように求められました。ポインターへのポインターを使用して挿入関数を1つのwhileループに統合するにはどうすればよいですか?
c - 2D文字列配列をcharポインタ配列に割り当てる方法は?
char * ポインター [x] に char ワード [x] [y] を割り当てようとしています。しかし、コンパイラは私にエラーを与えています
配列型 'char *[5]' は代入可能 ポインター = &words[0]ではありません
しかし、コードは動作します
必要なのは、2D 配列をポインター配列に正しく割り当てることだけです!!
c - Pointer-to-Pointer およびリンクされたリスト、値ごとにパラメーターを渡す
背景は、リンクされたリストを実装することにより、C でポインターからポインターを試していることです。私の質問は、2 つのコードの違いと、最初のコードでは期待される出力が得られるのに、他のコードでは得られない理由に関するものです。コードの最初の部分が、コード 2 が行うように見える機能の「外部」の先頭に進まないのはなぜですか?
4 つの要素を追加し、追加するたびにリストを出力すると、出力は期待どおりになります。12 | 123 | 1234
出力は次のとおりです。12 | 23 | 34
c - malloc とポインターへのポインター
複数レベルのポインターを使用するときに、いつ malloc を使用する必要があるかを理解しようとしています。例えば、
私が使用しているこの最初のバージョンでは、 type の割り当てスペースPerson *p
のみを使用しています。2番目のバージョンでは、次のように変更しますmalloc
Person
Person *p
Person **p
malloc
別のポインターがあるにもかかわらず、私はまだ1つしか使用していません。
この 3 番目のバージョンでは、Person ***p
私の質問:
1) 3 番目のバージョンでは のmalloc
スペースが必要なのに、 のスペースは必要ないのはなぜですか? どちらもポインターへのポインターですか?**p
malloc
*p
2) また、 2 番目または 3 番目のバージョンでmalloc
スペースを確保する必要がないのはなぜですか?p
3) 3 番目のバージョンでは、 の適切なサイズmalloc
は*p
? 私の 64 ビット Mac ではsizeof(void)
は 1 で、sizeof(void*)
は 8 で、どちらも動作しているように見えますが、どちらが正しいのでしょうか?