ネスティング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
マトリョーシカ人形
プログラムの記述と比較してみると似ていることが分かる(参照1)(参照2

: Nesting: Nested structureCCC

概要[編集]


3

 - ifswitchforwhile

 - 

 - 

 - 


[]



[]


1""22""33""1232""33""23


C
if (条件式1){
   if (条件式2){     // ここの「if」は一番上の「if」の入れ子
      if (条件式3){   // ここの「if」は一つ上の「if」と一番上の「if」の入れ子
         処理1;
      }
      処理2;
   }
  処理3;
}

ループ文のネスティング[編集]






C
for (int x = 0; 条件式1; x++){
   for (int y = 0; 条件式2; y++){   //ここの「for」は一番上の「for」の入れ子
      for (int z = 0; 条件式3; z++){ //ここの「for」は一つ上の「for」と一番上の「for」の入れ子
          処理1;
      }
      処理2
   }
   処理3;
}

ループ文と条件文が混合したネスティング[編集]


312

C
for (int x = 0; 条件式1; x++){
   for (int y = 0; 条件式2; y++){ //ここの「for」は一番上の「for」の入れ子
      if (条件式3){                //ここの「if」は一つ上の「for」と一番上の「for」の入れ子
          処理1;
      }
      else{
          処理2;
      }
  }
}

データ構造におけるネスティング[編集]

構造体クラスインタフェースにおけるネスティング。

構造体のネスティング[編集]

構造体がメンバとして何らかの構造体を持っている状態は、構造体をネストしていると言える。

struct Point
{
	int x;
	int y;
};

struct BitmapImage
{
	struct Point size;
	unsigned char *image;
};

副プログラムにおけるネスティング[編集]



[]


gcc
void message(void){
	void hello(){  }// ネストされた関数定義
	hello(); //ネストされた関数の呼び出し
}
//ここではhello()は呼び出せない

名前空間のネスティング[編集]


C
namespace 名前空間1{
	namespace 名前空間2{
		int func(){} //名前空間1::名前空間2::func()のようにアクセスさせることが多い
	}
}

関連項目[編集]

プログラミング[編集]

その他[編集]

外部リンク[編集]