私のような配列の割り当てに問題があります:あなたが発見したとして、そのようには動作しません&a =&bとして配列を割り当てることができないのはなぜですか?
答えて
<string.h>
で宣言されたあなたは
memcpy()
機能でそれらをコピーすることができますC.に配列、割り当てることができません
:これはストレートだっ
int a[3];
int b[] = {1,2,3};
memcpy(&a, &b, sizeof a);
...私は、ポインタを使用することができます知っているが、私はそのようにやってみたい
int a[];
int b[] = {1,2,3};
&a = &b;
を。 Cで配列を割り当てることはできません。
構造体は割り当て可能です。だから、これを行うことができます。
typedef struct
{
int x[3];
} T;
T a;
T b = { { 1, 2, 3 } };
a = b;
おかげで、任意の関数がありますこの仕事をしているので、たくさんのコードを書き直す必要はありません。 – Starfighter911
'a = b'はどのように「たくさんのコード」ですか? –
さて、私はこれを試しました:'T a []; T b [] = {{1,2,3}}; a = b; '、まだ動作していません。出力: "式は左辺値ではありません"。 – Starfighter911
- 1. jqgrid列に配列を割り当てることができないのはなぜですか?
- 2. 配列にポインタを割り当てることができないのはなぜですか? Cでは
- 3. なぜ私のRAMよりも大きな配列を割り当てることができますか?
- 4. (aと(bではない))または(aとb)= aはなぜですか?
- 5. @b ||を割り当てることができないのはなぜですか? Perlでは@cから@aに?
- 6. A = A + Bは新しいメモリを割り当てますか?
- 7. ループ内でランダムな値を割り当てることができないのはなぜですか?
- 8. std :: tupleに初期化子リストを割り当てることができないのはなぜですか?
- 9. Symbol.hasInstanceを関数に割り当てることができないのはなぜですか?
- 10. 複雑な2D配列を割り当てることができません
- 11. なぜstructのこのリストでフィールドに値を割り当てることができないのですか?
- 12. JavaScriptは、関数上でプロパティ "name"を割り当てることができないのはなぜですか?
- 13. int配列への初期化されていないポインタに変数の値を割り当てることができるのはなぜですか?
- 14. dlibからmatrix_expをstd :: vectorに割り当てることができないのはなぜですか?
- 15. scanfで入力引数に値を割り当てることができないのはなぜですか?
- 16. ポインタに値を割り当てることができないのはなぜですか?
- 17. なぜ、配列をcharポインタに割り当てることができますか?
- 18. サブクラス型の変数に親クラスを割り当てることができないのはなぜですか?
- 19. VBAのチャート変数にPowerPointチャートを割り当てることができないのはなぜですか?
- 20. なぜNotImplementedに割り当てることができますか?
- 21. LWP :: UserAgentにipを割り当てることができないのはなぜですか?
- 22. element.innerHTMLを割り当てることができないのはなぜですか?
- 23. スーパークラスオブジェクトを拡張クラスに割り当てることができないのはなぜですか?
- 24. * *構造体を*インタフェースに割り当てることができないのはなぜですか?
- 25. structを直接割り当てることができないのはなぜですか?
- 26. ヒープとスタックに割り当てられた配列の動作が異なるのはなぜですか?
- 27. 配列にイニシャライザリストを割り当てることはできますか?
- 28. Java - メソッドを配列に割り当てることはできますか?
- 29. a.compareTo(b)がcompareTo(a、b)またはa.method(b)= method(a、b)と等しいのはなぜですか?
- 30. TS:なぜ、有効でないタイプをジェネリックタイプの変数に割り当てることができますか?
これは、私が検索したものです。 – Starfighter911
@Jonathan Leffler: '&array'は意図的な選択です。一つのオブジェクト(ここでは一つの配列)をコピーするとき、' memcpy(&dest、&src、sizeof src)彼らは同じでなければなりません)。これは一貫性のためです。 'a'と' b'の型が非配列型の場合、同じ 'memcpy()'行が動作します。あなたは同意しないかもしれませんが、うまくいけば、選択の裏に確かに「判断」があることが分かります。 – caf
は、 '&a'は配列へのポインタへのポインタではありませんか? – weberc2