mallocを使用して構造体の配列をmallocする方法

user3756003

私は構造体を持っています:

struct line{
  bool isValid;
  int tag;
  int block;
};
typedef struct line* L;

struct line*名前を設定しての配列を設定したい

つまりL set[];を初期化してから、セットの配列を宣言したいということですL* cache[]

それで、cache_new(int numSets, int numLines)を使用してそれらを初期化したい関数でmalloc()、どうすればそれを行うことができますか?Cを初めて使用する場合は、どんな助けでも大歓迎です。

んん

配列がで宣言されている場合、[]動的に割り当てることはできません。[]配列は、自動または静的に割り当てられます意味。

ゼロ化されたいくつかの構造体を動的に割り当てるには、次のようにする必要があります。

struct line *set = calloc(num_lines, sizeof *set);

動的割り当てでは、配列自体に名前はありませんが、set最初の要素を指すポインター使用すると、すべての配列メンバーにアクセスできます。

私はあなたが何について尋ねているのか正確にはわかりませんcacheが、おそらくそれは次のようになっているはずです:

struct line **cache = calloc(num_sets, sizeof *cache);
for (size_t i = 0; i < num_sets; ++i)
    cache[i] = calloc(num_lines, sizeof *cache[i]);

ポインタtypedefは使用しないでください。コードが読みにくくなります。typedef struct line Line;必要に応じてできます。そして、本当にあなたがやるかどうかは関係ありませんcalloc(N, size)malloc(N * size)

次に[]、表記を使用してこれらの配列にアクセスできます。cache[3][5].tag = 7;

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

構造の配列をmallocする方法

mallocを使用して作成された別の構造体内の構造体の配列にmallocを使用するにはどうすればよいですか?

構造体の配列に関してMallocとReallocを理解する

mallocを使用して構造体のサイズを変更する方法

関数を介してmalloc構造体配列を渡す

mallocを使用した動的構造体配列の作成

構造体の配列をMallocします。

構造体の配列をMallocします。

mallocを使用した2次元構造体配列の割り当て

C、別の構造体内の構造体の配列に対して正しい量のスペースをmallocする方法は?

malloc()によって割り当てられた構造体の配列をfree()する方法は?

Cでmalloc()を使用して構造体の配列を割り当てるにはどうすればよいですか?

C-関数内mallocを使用したtypedef構造体の動的配列

ctypes:Cでmallocされた構造体の配列を公開する

Cの構造体でmallocを使用した後の配列のデフォルト値は何ですか

Cで構造体を正しくmallocする方法

hydrasを使用して構造体の配列を定義する

構造体の配列を使用してgoogle datastore propertyloadsaverを実装する方法

関数でreallocを使用して構造体の動的配列を作成する方法

qsortを使用して構造体の配列をソートする方法

memcpyを使用して構造体の配列を初期化する方法

関数内の構造体でmallocを使用する

Cの構造体でmallocを使用する

mallocを使用して構造体のメモリのサイズを変更する場合

構造体の文字列をMalloc

mallocで構造体を初期化する

構造体を渡して構造体の配列を作成する

構造体内の配列をMallocします

構造体へのポインタの配列を作成することはmallocが必要ですか?

TOP 一覧

  1. 1

    どのように関係なく、それがどのように「悪い」、すべてのSSL証明書でのHttpClientを使用しないように

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Modbus Python Schneider PM5300

  4. 4

    System.Data.OracleClient.OracleException:ORA-06550:行1、列7:

  5. 5

    scala.xmlノードを正しく比較する方法は?

  6. 6

    インデックス作成時のドキュメントの順序は、Elasticsearchの検索パフォーマンスを向上させますか?

  7. 7

    Elasticsearch - あいまい検索は、提案を与えていません

  8. 8

    グラフ(.PNG)ファイルをエクスポートするZabbix

  9. 9

    Ansibleで複数行のシェルスクリプトを実行する方法

  10. 10

    変数値を含むElasticSearch検索結果

  11. 11

    Elasticsearchでサーバー操作を最適化:低いディスク透かしに対処する

  12. 12

    Python / SciPyのピーク検出アルゴリズム

  13. 13

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  14. 14

    テキストフィールドの値に基づいて UIslider を移動します

  15. 15

    Chromeウェブアプリのウェブビューの高さの問題

  16. 16

    NGX-ブートストラップ:ドロップダウンに選択したアイテムが表示されない

  17. 17

    Reactでclsxを使用する方法

  18. 18

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  19. 19

    Pushwooshで削除されたアプリデバイストークンを処理する方法は?

  20. 20

    ラベルとエントリがpythontkinterに表示されないのはなぜですか?

  21. 21

    Elasticsearchの場合、間隔を空けた単語を使用したワイルドカード検索

ホットタグ

アーカイブ