はのは、私のような何かを言ってみましょうか?これは自動的に私が解放する必要があるメモリを作成していますか?私は一種の混乱している。ありがとう。このアレイを作成するときに割り当てられるメモリはどこですか?まさに私はそれを長い道のりをした場合には、この等価では何</p> <pre><code>char* test[] = {"foo","bar","car"}; </code></pre> <p>:(C)
答えて
test
は、スタックにあるcharへのポインタの配列であり、文字列リテラル"foo"
,"bar"
、"car"
は読み取り専用の場所に格納されます。あなたは何も解放する必要はありません。
test[0]
,test[1]
,test[2]
は読み取り専用データを指します。スコープの規則と変数のC言語の有効期間について読むことをお勧めします。ブロック内でストレージクラス指定子を持たない変数のデフォルト値はauto
です。これはローカルライフタイムの変数です。
char* test[] = {"foo","bar","car"};
test[1][0] = "tar"; // Run-time error
しかし、これは結構ですがtest[0]
開始は"foo"
から"new"
を指すように:
test [0] ="new";
{
char* test[] = {"foo","bar","car"};
}
//cannot access test here
test [0] = "new"; // Compile time error - ‘test’ undeclared
は "タール" は、ランタイムエラーを与えるために、 "バー" を変更しようとしますが
"foo"
への参照は失われます。
これらの値は読み取り専用の場合は変更できません。 test [0] = "foo2"と言うことができませんか? – zProgrammer
文字列リテラルは、ポインタ自体ではなく、読み取り専用の場所に格納されます。ポインタはブロック内でローカルな有効期間を持ちます。 – Sadique
最後の質問:「char * x」と「char x [10]」との違いは何ですか? – zProgrammer
mallocとmallocを文字列のサイズで使用するのがずっとです。
テストは、あなたがポインタの配列を宣言している
'malloc'はヒープ上にメモリを割り当てます。それは間違っているか、少なくとも誤解を招き、 "mallocがスタックにスタックする"と言ってしまいます。 – icktoofay
ヒープ上にプッシュされます。ポインターは文字列リテラルを指します。
変数test
は、通常の規則に従います。自動変数(一部の関数内のスコープ)であれば、関数外でスコープから外れるので、メモリを解放する必要はありません。静的に割り当てられている場合(グローバル変数またはstatic
変数)、プログラムと同じ長さのため、メモリを解放する必要はありません。
ポインターが指し示す文字列リテラルは静的記憶域を持つため、解放しないでください。
Test
はcharecter pointers
の配列です。配列の値の初期化が行われると、Cは角括弧を空のままにすることができます。この場合、コンパイラは、中括弧{ }
の間に含まれる値の数と一致する配列のサイズを想定します。自由にする必要はありません。
- 1. は、メモリを割り当て、私は</p> <pre><code>int main(int argc, char **argv) { char *test = (char*) malloc(12*sizeof(char)); test = "testingonly"; free(test); } </code></pre> <p>作業isnt't理由を次のコードを思っていたC
- 2. は、私はそれを印刷するとき、それは</p> <pre><code>myPhoneExtTxt Type:System.Web.UI.HtmlControls.HtmlInputText </code></pre> <p>が、これは、このコードに基づいて生成されることを示すページでは、制御タイプ
- 3. コルーチンが期待されるところで、どのように通常の関数を呼び出しますか? <code>bar</code>がコルーチンである場合、これは正常に動作します</p> <pre><code>async def foo(bar): result = await bar() return result </code></pre> <p>:
- 4. ES6での1行の非構造化と再割り当て? 1行として</p> <pre><code>const { foo, bar } = oldObj; const newObj = { foo, bar }; </code></pre> <p>:このコードを書き換えるより簡潔な方法は、
- 5. は、私はあなたが<em>domain.com</em>、それは<em>domain.com.ipaddress.com</em></p> <p>にリダイレクトされます場合はここではメインのコードだとChromeの拡張機能を作成していたURL
- 6. C++ 11の範囲ベースのfor()ループは、1回または複数回評価されますか?</p> <pre><code>for (const auto &foo : bar()) { // ... do something with foo... } </code></pre> <p>は、この例では表現<code>bar()</code>は一度だけ評価されていることを標準でそれ<strong>保証</strong>されています:
- 7. TypeScriptデコレータでデータを取得するには?私は何とか<code>Foo</code>にアクセスすることができ、デコレータから</p> <pre><code>@decorator foo: Foo; </code></pre> <p>:
- 8. LOOQを使用して新しいリストを作成<Bar>リスト<Foo>ここで、Fooには可変のバーがありますか?
- 9. XCode: "<foo>"の秘密鍵( '<bar>'から)はこのMacにインストールされていません
- 10. htmlフォームの入力にJava Stringの値を割り当てることはできますか?</p> <pre><code><form action="foo" method="get"> <input type="hidden" name="ID" value="<% classInstance.getID(); %>"> </form> </code></pre> <p>:
- 11. は、これは私です</p> <pre><code>'[errors]' => [], </code></pre> <p>..私は、ユーザーテーブルを持っていると私は私が<code>$user</code>をデバッグする場合でも、それはnullを返し<code>save()</code>保存したいときにエラーがないCakePhp3
- 12. オブジェクト属性に値が設定されていないのはなぜですか?</p> <blockquote> <pre><code><Foo>Bar</Foo> </code></pre> </blockquote> <p>そして<code>Foo</code>要素の値を抽出し、このコード:
- 13. なぜ私はBlockingCollection <T>をIReadOnlyCollection <T>に割り当てることができませんか?
- 14. C#で匿名オブジェクトを作成するJavaに相当するものは何ですか?</p> <p><code>var objResult = new { success = result };</code></p> <p>このためのJava同等のがあります:C#ので
- 15. Python dir()はJavaScriptでこれに相当しますか?</p> <pre><code>dir(django.auth.models) </code></pre> <p>、それはあなたの<code>models</code>の内側にすべてのものを与えるだろう、何かがあります:私は、Pythonについて愛した何
- 16. 割り当て `私は正しいタイプの<code>Event</code>が渡された場合<code>Watcher</code>が<code>Event</code>に興味があると<code>Action</code>を起動するように設定することができるシステムに取り組んでいます
- 17. 私はスナップショットが存在しない場合、私は、このスナップショットから</p> </blockquote> <p></p> <blockquote> <p>「暗闇の中で踊る」を得ることができますどのようにこのFireBase DataSnapshot
- 18. ジェネリック型のためのカスタムデシリアライザの作成方法私はFooのためのカスタム・ジャクソンのデシリアライザを書きたい</p> <pre><code>class <T> Foo<T> { .... } class Bar { Foo<Something> foo; } </code></pre> <p>:
- 19. アンドロイドマルチビューを取得し、私はちょうど私がこれだけ</p> <pre><code>TextView m = (TextView)findViewById(R.id.mm); </code></pre> <p>を知ってJavaScriptで</p> <pre><code>Document.getElementsByClassName() </code></pre> <p>これに等価性をequalitiveどの知りたい
- 20. tr:ホバーのボーダー半径を<tr>にするには?私は私がしたいことはある、それは<code><table></code>が含まれている大きな<code><div class="content"></code>を持って
- 21. では、<xsl:if test = "。[foo or @bar]">とは何か、クロスブラウザソリューションとは何ですか?
- 22. なGroovy:私のファイル名はクラス名と一致した場合、それはのみ動作し、</p> <pre><code>class Foo { String name } def foo = new Foo(name:"Test") </code></pre> <p>しかし:名前付きパラメータコンストラクタ
- 23. Rubyでtrue、false、またはnilを返すメソッドをどのようにメモすることができますか?それは<code>false</code>または<code>nil</code>であることが判明した場合、その後、<code>expensive_way_to_calculate_x</code>が何度も実行されますので、
- 24. Cに名前のない関数を持たせることはできますか?</p> <pre><code>(_s, m); </code></pre> <p><em>_s</em>と<em>メートル</em>は、両方の構造は、それが何をすることができます:?
- 25. は!SRCは、私は私のIDEで自動補完を使用する場合、それはでも、私はそれが単に動作する強打<code>!</code>を削除この</p> <pre><code><script !src=""></script> </code></pre> <p>のように埋めHTML
- 26. は私が<code>memmove</code>機能を使用して、このような</p> <pre><code>char* cArray = (char*) malloc(sizeof(char) * sizeTracker); </code></pre> <p>として、配列の真ん中で何かを削除することができることを知って、アレイ
- 27. アサーションが失敗したそれらのスレッドで</p> <pre><code>TEST(one, test_one) { vector<thread> threads // ... initialize threads } </code></pre> <p>とどこかを次のように私はテストケースを持っている場合は、どのように私はどのように実行中のすべてのスレッド
- 28. 私はこれまでのところ、私は<strong>register.jabber.orgを使用していた</strong>ジャバーアカウント</em></strong>を作成<em><strong>に、今私は私を作成したい私のサーバー</p> <p>にBOSH接続マネージャすなわちパンジャブを設定しているサーバー
- 29. クロージャから名前付き関数を作成することはできますか?</p> <pre><code>function foo() { return "bar"; } </code></pre> <p>そして、あなたはこのようにクロージャを持つことができます:PHPで
- 30. これはラムダですか?そうでない場合は何ですか?</p> <pre><code>Linq.From(Emp).Where(Emp['Sal'] > 1000) </code></pre> <p>はそれが私を覚ますと言うようになった:
「malloc」や「mmap」などを使って作成したa)メモリを解放する必要があるか、b)明示的に文書化する関数* *そうする責任はあなたにある。 –