No.2ベストアンサー
- 回答日時:
全ての要素が0で初期化された配列を確保したいのであれば、calloc()を使うというのはどうでしょうか? 上記のコードより速いという保証はありませんが。
#include <stdlib.h>
int *Xi = (int *)calloc(256, sizeof(int));
配列が不要になった時点でfree(Xi)するのをお忘れなく。また、初期値が0以外の場合にはこの手は使えません。
No.6
- 回答日時:
処理系不明のままでは、まともな回答は得にくいと思います。
インタープリタの場合はループで記述すると十分遅いと思いますし、そこまでいかなくても、(たとえ今時のものでも)8ビットマイコンなんかでは高速とはいいがたいでしょうね(かといって、代案があるかどうかはハードウェアしだい)。
というわけで、処理系を補足してください。
No.4
- 回答日時:
Cの仕様の範囲では、
int Xi[256] = {0};
が最速になる可能性が一番高いはずです。
callocは非常に遅いので論外です。
もっと速くということであれば、アセンブリ言語でアーキテクチャに依存したコードを書く必要があります。
No.3
- 回答日時:
int Xi[256] = {0};
で全要素が0で初期化されます。
(初期化子の要素数が、配列の要素数よりも少ない場合、
残りの要素は全て0で初期化されるため。)
速度はどうか知らないけど書くのは楽。
速度に関してはコンパイラの最適化が効いてるなら特にどうこうする必要はないでしょう。
No.1
- 回答日時:
最近のコンパイラであれば、おそらく、そのままで最速なコードが生成されると思います。
下手になんかしないほうが多分速い。もし、本当にコンパイラが生成するコードよりも速い方法がほしいとなると、これはもう、初期化の部分だけではなくて、実際に配列を使う部分のアルゴリズムも一緒に考えて、配列の一部をレジスタにもつとか、かなりトリッキーなことをすることになると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 配列の初期化についてです。 int 例のプログラムで int x[5]={1,2,3,4,5}; x 1 2022/05/29 15:00
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- C言語・C++・C# 10人分の生徒の英語の点数{32,34,41,38,40,26,14,46,42,50} と数学の点 2 2022/05/26 21:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
VBで作った乱数を一度も重複さ...
-
VB.net 引数で配列変数を渡す際...
-
変数を動的に作るには?
-
Excel VBAで配列の途中から(X)M...
-
EXCEL VBA で、0から?1から?
-
配列の要素数を超えた参照のコ...
-
配列をリサイズする
-
C言語で3次元配列の課題をして...
-
10進数を4桁のバイト配列に格納...
-
C言語 重複しない4ケタの乱数...
-
動的配列が存在(要素が有る)か...
-
2次元配列の、黒いマス目で囲...
-
コンバートした画像をポリゴン...
-
C#の質問
-
C# 配列のスタックは可能でしょ...
-
複数のテキストボックスに同じ...
-
ラジオボタンのチェックをEnter...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
IF関数でEmpty値を設定する方法。
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
動的配列が存在(要素が有る)か...
-
VB.net 引数で配列変数を渡す際...
-
遅延バインディングを使用でき...
-
VBで作った乱数を一度も重複さ...
-
複数のテキストボックスに同じ...
-
配列の要素数を超えた参照のコ...
-
C言語 重複しない4ケタの乱数...
-
For文と配列
-
C#の質問
-
VBでbyte配列型のインスタンス...
-
Excel VBAで配列の途中から(X)M...
-
マップチップの当たり判定の出し方
-
ジャグ配列とは
-
五目並べのプログラムを配列と...
-
10進数を4桁のバイト配列に格納...
おすすめ情報