問題タブ [dynamic-allocation]
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++ - 一定の長さを使用する場合の char[] と new char[] の違い
したがって、これは広く回答されている質問のように思えるかもしれませんが、私は、この 2 つの間で正確に何が違うのかという内部にもっと興味があります。
2 番目の例では、メモリだけでなくメモリへのポインタも作成されるという事実以外に、次の場合にメモリ内で何が起こるかを示します。
そして、なぜ私がこの質問をしたのか、どうして私はできるのかにもっと直接的に関連しています
だがしかし
編集VC ++でこのコンパイラエラーが発生していることに言及する必要がありました(図を参照してください...)
EDIT 2 :私が作業していた正確なコードを投稿する必要がありました。このエラーは、動的に割り当てられた配列の定数の長さが実行時の値で計算されるときに発生します。
と の間をrandom(a,b)
返すと仮定すると、int
a
b
一方
c++ - メモリの使用量を調べる方法
C/C++ プログラムを試しています。ヒープやその他のデータ構造のために使用しているメモリの量を知りたいです。では、さまざまなデータ構造で使用されているメモリの量を調べるにはどうすればよいでしょうか?
malloc 演算子をオーバーライドする必要があると思いますが、同じかどうかはわかりません。
私は Linux と Netbeans 7.1 で作業しています。
c++ - 関数に文字ポインタを渡し、メモリを動的に割り当てる
Student.h
Student.cpp
主に:
setHouse(char *hName)
student->m_sHouse
「家」に等しいセット。
私の質問:
中に入ると、 「家」getHouse(char *hName)
に設定して、本来の動作をします。hName
しかし、制御が関数から渡されると、動的に割り当てられたメモリの割り当てが解除されるため、mainでstrcmpを実行すると、プログラムがクラッシュします(NULLポインターを比較することになります)。
c - 文字列配列の動的な割り当てに関する問題
frags2
サイズの配列を動的に割り当ててnumberOfFrags
、元の配列の内容をコピーしようとしています。私は多くのアプローチと検索を試みましたが、ここで何がうまくいかないのか理解できません。sizeof
新しい配列では0
、私が思っていたものの代わりに戻りますmalloc
。
どんな助けでも大歓迎です!
c - 構造体メンバーとしての C ポインター、割り当て、初期化
私は代数アプリケーションに取り組んでいます。これがコードです
出力は次のとおりです。
分子を入力してください:
1分母を入力してください
:
2
分子を入力してください:
3分母を
入力してください:
4
....
など、ループの最後まで。
NewTerm のステートメントの半分はまったく実行されていないように見えますが、プログラムは新しい関数の割り当てと初期化に成功しているようです。どんな助けでも大歓迎です、私はこれについて非常に混乱しています。表示機能と削除機能は含めませんでしたが、問題なく動作しますが、役立つ場合はここに追加できます。
c - できるだけ少ないループでデータを動的に追加する
行列がA=(n,m)
あり、その列を 1 つずつスキャンする必要があり、列の要素の合計がしきい値よりも大きい場合は、列を新しい行列に入れますB=(n,?)
。
そして結果として:
明らかに、 の列数がわからないB
ため、最初のループで列の要素の合計を確認し、値がしきい値よりも大きい場合は、列をB
aで追加するループを繰り返しますrealloc
。
B
合計がしきい値未満の場合、要素を自動的に追加して「削除」する方法はありますか? つまり、最後のループは避けたいと思います。
c - 動的 2D 配列 - 割り当てが機能しない (segfault)
なぜこれがうまくいかないのですか?コードを何度も見直しましたが、何が問題なのかわかりません。
ありがとう!
c - 「通常の」2D配列を**として機能させるために渡す
これをやりたいのですが、うまくいきません。それを行うことは可能ですか、それともAをダブルポインターフロート**として宣言する必要がありますか?関数の引数を変更できないように、さまざまな配列の次元に対応するユニバーサル関数が必要であることに注意してください。
c - 2D文字配列mallocまたはcallocを割り当てます
私は最近、Cの知識を磨くことに決めました(私が残した知識はほとんどありません)。曇った最初のスキルはメモリ管理であることにすぐに気づきました。くそー。
私は、やるべき最善のことは、無意味なポインターの練習を書くことだと決めました。1つ目は、それぞれが可変長の4つのchar配列の配列を割り当てることでした。
そのコードの簡略化されたバージョン:
これは不格好で直感に反していると感じました。今日、私は私の古いネミシスを思い出しました:calloc
。それから私は書いた
そしてループ内:
私は次のように最後の行を書くコード例を見つけました:
質問1:違いは何ですか?
質問2:文字列の配列を割り当てる別の方法はありませんか?私が今コードを見ると、最初に4つのポインターを1つのcharポインターに割り当て、次に各ポインターに必要な実際のサイズを割り当てているように感じます。それはただ間違っていると感じます。
それからまた、私はこれらすべてについて間違っているかもしれません、その場合:壁に頭をぶつけて、あなたの時間を無駄にする前に私が読むべきまともなマニュアルの方向に私を向けてください...
c - 構造体自体とそのメンバーにメモリを割り当てる方法
私はこの構造体を持っています:
たとえば、構造体自体とそのメンバーの代わりにスペースを割り当てることができます。
このようなもの(それが機能しないという理由で):