「組み込み」ならではの基礎知識 ――スタートアップ・ルーチンからハードウェアまで

セサミアン3人組

tag: 組み込み

技術解説 2003年5月14日

●配列とポインタの使い分け

 配列の実体はポインタであると言いました.したがって,プログラムを書く際に,配列を使ってもポインタを使っても原理的には同じです.現実にはプログラムの読みやすさや拡張性,あるいは効率面から両者を使い分けます.例えば,Cコンパイラに依存しますが,配列を使うかポインタを使うかによってCコンパイラが生成するコードに効率面の違いが出る場合があります.つまり,

  int array[10], n;
  for(n=0; n<10; ++n) {
    array[n] = 0; 
  }

  int array[10], n, *p;
  for(n=0, p=array; n<10; ++n) {
    *p++ = 0;
  }

とで性能が異なる場合があります.興味のある方は,Cコンパイラにアセンブリ・ソースを出力するオプションを付けて,比較してみるとおもしろいですよ.

●格言:配列のインデックスには悪魔が潜む

 配列の実体,つまり配列とポインタの関係を理解しておくことは,組み込みソフトウェアの場合きわめて重要です.また,負のインデックスの場合も含めて,配列の領域を超えた場所のデータをアクセスすることで発生するバグは意外と多いものです.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日