問題タブ [pointer-to-array]

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 投票する
3 に答える
1489 参照

c++ - `int (*p)[5]` を使用した結果が混乱するのはなぜですか?

私はそれint (*p)[5]が5つのintの配列を指すポインタを意味することを知っています。したがって、このプログラムを以下にコーディングします。

私のマシンでは、結果は次のとおりです。

*qのアドレス a[0]**qの値を意味することは理解できますa[0]が、なぜと とq同じ値になるのでしょうか。私の貧弱な考えでは、それは彼らの住所であるべきです!私は完全に混乱しています。誰か助けてください。お願いします!a*q

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

struct - Struct の配列をバイナリ ファイルに書き込む

プログラムの何が間違っているのか理解できません。構造体の配列へのポインターを定義しています。十分なメモリを malloc しました。配列要素を初期化しました。次に、fwrite を使用して配列をバイナリ ファイルに書き込みました。次に、同じものを読み込もうとして、同様の配列への別のポインターに戻ります。これには、十分なメモリが割り当てられています。

出力:
4,a,5.234234,A,15.234234
セグメンテーション違反

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

c++ - cで多次元配列をポインタとして渡すにはどうすればよいですか

重複の可能性:
C および C++ で多次元配列を関数に渡す方法

だから私はチャーを持っていますbuffer[4][50]

メソッドに渡す必要があるvoid SetBuffer(char **buffer)か、少なくともそれがフォーマットされていると思われる方法です。

私はそうしSetBuffer(buffer);ますか?メソッドでは、各要素を設定する必要があるので

void SetBuffer(char **buffer)
{
strncpy(buffer[0], "something", 50);
strncpy(buffer[1], "something else", 50);
}

どうすればこれを適切に達成できますか?

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

c - 同じタイプの構造体のポインター内の構造体

道路があり、その端に 2 つの都市があるコードを実装しています。それらをファイルから読み取り、リンクします。構造は

など、読み取った道路を格納する ROADS 配列を作成します。

そのようなコードとこれに対する割り当ての欠点は何でしょうか。私は国の地図を作成することを考えています. すべての都市には近隣都市へのポインターが必要です。これにより、誰かが都市間の距離を尋ねたときに、私のプログラムがそれに答えることができるはずです。

隣人の部分になると。

この部分と最後の部分は私が混乱した部分です。私の唯一のリンク参照は都市の名前です。

ROADS[i] の city_name の道路が ROADS[j] の city_name と同じである場合 (ロサンゼルスの例のように)、「NewYork 250km LosAngeles " 道路の隣には "LosAngeles 120km Florida" があり、その逆も同様です。「LosAngeles 500km Nebraska」のようなものがファイルから読み取られる場合、最初に言及した 2 つの道路には 2 つの隣接道路と 2 つのリンクも含まれます。ROADS 配列は、現在 3 つの道路構造を格納しています。もちろん、道路構造物を作成するときは、ROADS 配列にメモリを割り当てています。

私が間違っているポイントはどこですか?このコードをさらに開発するためのヒントは完璧です。頭の中にあることを実行するために「検索する必要があるという概念」と言っても素晴らしいでしょう。

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

c - ダブルポインタが指す2D配列のサイズを取得するにはどうすればよいですか?

配列を指すダブルポインタから2D配列の行と列の数を取得しようとしています。

上記の関数は、問題が発生しているサイズの詳細を出力する必要があります。

配列を作成するためにmallocを使用しています。


このようなものを使用するとどうなりますか

column = sizeof(a)/ sizeof(int)?

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

c++ - ポインタを使用して2次元配列に乱数を入力する方法

このコードを実行すると、完全に乱数の行列は取得されませんが、代わりに多くの繰り返し数が取得されます。rainGen関数を使用して真にランダムな2D行列を生成する方法はありますか?あなたが提供できるどんな助けも本当に本当にありがたいです!

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

c - 関数ポインターを (*func_ptr)() と func_ptr() の両方として使用して関数を呼び出すことができるのに、なぜ配列ポインターには使用できないのでしょうか?

func_ptrタイプの関数ポインタがあるとします。次に、void (*func_ptr)()これを使用して、このポインタを次の両方として使用して関数を呼び出すことができることがわかります。

しかし、繰り返しになりますが、整数配列へのポインターがあるとしますint (*arr_ptr)[5]。なぜ、配列を として参照できずarr_ptr[]、その結果、その要素をarr_ptr[0]などと参照できないのarr_ptr[1]でしょうか。(*arr_ptr)[0]なぜandしか使えないの(*arr_ptr)[1]でしょうか?

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

c++ - ポインターへのポインターを適切に処理する

私はポインタの配列を持っています

そのようにマルチアレイを宣言した後、この方法でいくつかの値を入れました(そして、値が cout で正しいことを確認しました-

10663.3、11140.6 などの非常に複雑な値があり、正しい位置に配置する必要があるため、そこで誤検知が発生する可能性はないと思います

最後に、データを NetCDF ファイルに書き込もうとしています

メソッドはそのように見えます

この例から抜粋: http://www.unidata.ucar.edu/software/netcdf/examples/programs/simple_xy_wr.cpp

私はそのようにそれをやった

ただし、ファイルから読み取りを開始すると、意味不明になります。私の推測では、配列をメソッドに間違った方法で与えていると思います。しかし、私は正しい方法を理解できません。

また、ポインタへのポインタに関する優れたチュートリアルもありがたく思います。私は1つを見つけることができませんでした