2012-01-20 11 views
0

謝罪したり、おそらく非常に直接的な質問がありますが、私は一般的にC-Syntax言語の新機能で、私を混乱させる何かを発見しました。目的C構文のクエリ

私は、CGFloatオブジェクトを作成し、それらを何らかの暗黙的な配列として扱うようなコード例をいくつか見てきました。

CGFloat newFloat[3] = {value1,value2,value}; 

が、これは配列を作成するための客観Cで一般的に有効な概念であり、あるいはそれは空間内の3次元のポイントを手にCGFloatに組み込まれたものですか?

ご協力いただきありがとうございます。

+0

Objective-Cに関するまともな入門書を読んで少し時間を投資すれば、長期的に自分の時間を節約できます –

+0

ありがとうポール、私は2人の真中にいます私がこれを正しく解釈しているかどうかはわかりませんでした。 – AustinRathe

+1

幸運を祈る - Objective-Cの書籍がすべてのCの基本をカバーしているかどうかを確認してください。もしそうでなければ、読み物をまともなCの本で補うこともできます。 –

答えて

3

これは配列の初期化と呼ばれ、言語の一部です。

{value1,value2,value}の部分は、イニシャライザと呼ばれ、配列を定義するときは常に割り当ての右側で使用できます。これが最後のdoesnに新しい要素を追加するため、メンテナンスが容易になり

CGFloat newFloat[] = {value1, value2, value}; 

:初期化子の要素数が配列の指定したサイズに対応する場合、あなたが実際に明示的にサイズを指定する必要はありませんサイズを更新するように強制します。

このような初期化子も構造体でサポートされています。

+0

また、イニシャライザリストが与えられている場合、配列サイズはオプションであると述べておきます。 – Mahesh

3

これは暗黙の配列ではありません。左辺は、長さ3のCGFloat配列である変数を明示的に宣言します。この構文は実際にはC標準の一部です。