問題タブ [array-initialization]

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

c - 構文エラー: ';' の前に ']' がありません C の配列宣言エラー

Visual c++ を使用して、c で書いています。

コンパイラは、次のコードでエラーを表示します。

私が得るエラー:

メインの内側と外側で、定数を異なる方法で宣言しようとしました。それでもうまくいきません。誰かが私を助けてくれれば本当に感謝します...

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

c# - この VB.NET 配列式を C# に変換するにはどうすればよいですか

VB.net では、次のように記述できます。

そして、ContainsLinq.Enumerable(Of T) からのもののようです。

C# への変換に問題があります。 Developer Fusionのようなオンライン変換ツールを使用すると、次のようになります。

しかし、あまり役に立たないシンボルを解決できないと言って、コンパイルしませんContains。単純な構文の問題だと確信していますが、このような例を何と呼んでいるのかわかりません。

式をインラインで評価するために配列を使用しているだけなので、配列をインスタンス化する必要はありません。これは VB.NET で可能のようです。これを何と呼びますか - 静的配列ですか? 定数配列?匿名配列?リストされているもののいくつかの組み合わせ?

これをC#で書く方法と、これが何と呼ばれているかを知りたいです(質問のタイトルとタグを更新して、誰かが答えられるときに尋ねていることをよりよく反映します)。ありがとう!

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

c - なぜ「char *ptr={'R','E','D','\0'};」「char *ptr="RED";」中に警告が多すぎます。正常に動作します?

次のコードを検討してください。

次の警告のリストが表示されます。

しかし、最初のステートメントをコメント アウトし、2 番目のステートメント (私のコードではコメント アウトされています) を有効にすると、正常に動作します。

なぜそうなのですか?2番目のケースと同じように、最初のケースでは同じ配列へのポインターが割り当てられないのはなぜですかptr?これの厳密な技術的理由は何ですか?

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

c - 関数内の配列を関数の戻り値で初期化できますか?Is "int arr[2]={strcmp("a","a"),strcmp("3","5")};" 正しい?

関数の戻り値は定数と見なされないため、静的ストレージ型の変数だけが初期化されないことが予想されますか?その引数を使用すると、次の宣言は C で有効ではありません。エラーや警告なしでコンパイルされ、出力されます期待通りです。

Result 0,-1

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

c - 可変長配列の初期化

可変長配列コンパイラを初期化すると、次のエラー メッセージが表示されます。

コードスニペット:

可変長配列はどのように初期化する必要がありますか? そして、なぜすべての要素が0以下の方法で初期化されないのか;

?

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

c - メイン以外の関数での配列の初期化が一時的なのはなぜですか?

これは、メインと関数「checkCollisionOrFood()」で配列「turn[20]」を初期化するコードです。4 つの値は、turn[0]、turn[1]、turn[2]、turn[3] です。メイン関数でゼロに初期化され、残りは「checkCollisionOrFood()」で初期化されています。これが障害の開始場所です。「checkCollisionOrFood()」でターン[4] = 0を初期化し、どこにでもアクセスすると、0のままになりますどんな機能でも!次のターン[]、つまりターン[5]を初期化すると、ターン[4]の値が枯渇します。つまり、ターン[4]にはガベージ値があります。ターン[20]はグローバル変数であり、そのインデックス「ヘッド」もグローバルです.I 「この問題で立ち往生しています。助けてください。これが私の完全なコードです」

/これは、turn[] が初期化される場所です。ここで turn[head] にアクセスすると、つまり iniliazition の直後に正しい値が返されますが、前の値にアクセスすると、turn[head-1] を意味し、ガベージ値が返されます/

/このステートメントにより、ターン[4]の初期化直後にターン[4]の値をチェックして正しい答えを出し、ターン[5]の初期化とターン[4]へのアクセス後にゴミが発生します。/

/これらの turn[] の値は、アクセス先に関係なく変更されません。/

}

Plzは私にそれから抜け出すことを提案します。

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

c - 「要素ごと」と「指定」の両方の手法を併用して配列を初期化すると、予期しない出力が発生する

element-by-elementC99 は、次のように&designated メソッドを一緒に使用して配列を初期化する機能を提供します。

コードの実行時:

(はに初期化され、指定子によって再び初期化されることに注意してください) (これは) が(指定子として )に置き換えられることを期待していたため、o/p は次のようになります。Element 02[0]9element 029[0] = 9

残念ながら、o/p が来たので、私は間違っていました。

予期しない o/p の説明はありますか?

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

java - 配列変数なしでJavaの静的配列を反復処理する

Ruby では、次のようなことができます。

使用しているステートメントで定義された配列を反復処理します。Javaで配列を次のように定義できるので:

次のようなループを設定することで、変数の定義を回避できることはわかっています。

しかし、最初に配列を含む変数を定義せずに、Javaがより簡潔なものを持ち、動的割り当てを回避できるようにすることを望んでいました。次のような構文はありますか?

それは私が欠けているJavaで動作するより簡潔ですか、それとも私の唯一の選択肢を超えた解決策ですか?

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

c - コードのブロック内で値 0 に初期化された配列

これがスニペットです

さて、配列の正確な境界がわからないので、scanf * を使用して変数 * として取り込む必要があります。そして、作成された配列にはガベージ値が含まれています。そのためには、各要素を 0 に初期化する必要があります。これが必要だからです。

ループ内で毎回初期化する必要なく、これを機能させる方法はありますか?

ありがとう

編集 calloc を使用してメモリを割り当てることができると思います。使用されるメモリに違いはありますか?