問題タブ [calloc]

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

malloc - malloc が失敗した場合、calloc は成功を返します

成功を返しmallocながら失敗するシナリオはありますか。callocと を与えたmalloc(20)とします。失敗して成功する可能性calloc(4*5)のあるシナリオはありますか。もしそうなら、これの正確な理由は何ですか。malloccalloc

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

null - Calloc 単純問題

calloc のマニュアルを読みましたが、迅速で簡単な回答が必要です。なぜ NIL を出力するのですか? それはelseに行くので、lwはおそらくNILになることはできず、「割り当てられた(nil)」を出力しますか?神の手?;)

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

c - malloc は 1 つしか引数をとらないのに、calloc は 2 つの引数を取るのはなぜですか?

IMO 1 つで十分ですが、なぜcallocそれを 2 つの引数に分割する必要があるのですか?

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

c - 同じポインタに対する calloc の繰り返し

同じポインターに対して異なる calloc 関数を連続して使用するとどうなりますか?

X、Y、Z は 3 つの異なる値です。

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

malloc - glibc calloc 実装の説明、すなわち public_cALLOc( )

calloc() (正確には public_cALLOc()) 実装の glibc malloc.c では、2 つの方法で実行しているメモリを 0 にしようとすると、バイト数が 36 より大きい場合、すぐに memset() が呼び出されますそれ以外の場合は、具体的には次のようにバイトごとに 0 を設定します。

glibc-2.13/malloc/malloc.c


問題は、なぜ memset() を直接実行しないのか、この区別の必要性は何かということです。

ありがとう、カピル

0 投票する
7 に答える
221 参照

c - 動的に割り当てられたメモリをいつ解放する必要がありますか?

基本的に、ツリーで構成されるコードを作成しました。これにより、各ツリーノードには、データを含む独自のリンクリストがあります (各 treeNode にもデータが含まれます)。そのため、各 treeNode は、その特定の treeNode に対して複数のデータ項目を持つことができます。

したがって、この構造体を作成するには、treenode を呼び出し、その treenode のアドレスを createListNode 関数に渡し、ListNode を呼び出します。私の混乱は本当にどこからメモリを解放する必要があるのですか? 0 を返す前のプログラムの終了時のみ。メインまたは他の場所で。すべての入力がツリーとリストに追加されると、ユーザーに名前を尋ね、その名前に適したデータのリンクされたリストを表示します。

乾杯。

TC

編集:

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

c - 構造体の正しいメモリ割り当て

そのような方法で定義された構造体を持っているので、メモリを割り当てる必要があります

だから私はこのコードを持ってきました、それは正しいですか、それとも何かを見逃しましたか? 最初に構造体記述子を割り当て、次に文字列への d ポインターに十分なスペースを割り当てます

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

c - mallocとcallocの目的を理解する

私はCに頭を悩ませようとしています。K&Rを読んで、メモリのブロックを動的に取得する必要がある状況を示している場所を見つけようと前後にフリックしています。

たとえば、intポインタが必要です。

しかし、K&Rは私がやりたいと思うかもしれないと述べています:

基本的に、私はここで何をしましたか?最初のケースでは、まだ何も指していないポインタを作成したので、コンピュータのメモリが不足していると思います。int値を指すようにすると、問題が発生します。2番目のケースでは、ポインター用のスペースが予約されています。したがって、プログラムに多くのメモリの問題があることを心配する必要はありません。これは正しいです?これが正しければ、作成するすべてのポインターにmalloc(またはcalloc)を使用するべきではありませんか?私のプログラムの問題が少ないことを確認するためだけですか?

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

c - calloc、malloc、動的構造体割り当て

静的宣言を行った場合と同じように参照できるように、c で構造体の配列を動的に割り当てようとしています。calloc() は、割り当てられたすべてのメモリを 0 に初期化する追加のステップを実行することを理解しています。これらのデータ構造をファイルに出し入れするために fread() と fwrite() を使用している場合、calloc() はこれを助けたり妨げたりしますか?

ありがとうございました。