私はCを学び始め、配列について質問があります。配列の最初のインデックスを表示すると、すべてのインデックスがCで印刷されます
ここで私は文字の2次元の単純な配列があります。
char memory[100][6];
...
// populate indexes
、ここに私は、最初の行を印刷してみてください:ここで
puts(memory[0]);
が出力されます。なぜすべての行が印刷されますか?
00P00300P10404P1ZZZZ0000ZZ0010
私はJavaから来ています。あなたが同じコードを実行すると、最初の行しか取得できません。私は何かが見つからないのでしょうか、あるいはCが配列をどのように扱うのでしょうか?もしそうなら、どうすれば最初の行を得ることができますか?
初期化されていないため、ガベージが表示されます – BLUEPIXY
出力はゴミではありません。 6文字ごとに配列要素があります。私は移入コードを隠すだけです。 – Nic
'puts'は文字列を要求します。 Cの文字列は定義上、 '\ 0'(NUL)で終わる文字列です。だから、C全体のプロパティではなく、 'puts 'のプロパティとそれがどのように動作するかが定義されています。あなたが 'puts'を使うのではなく、' printf( "%c"、memory [0] [0]) 'のように他のものを使うことはしません。 – kaylum