1. 程式人生 > 實用技巧 >學習第29天

學習第29天

C語言

  1. 結構體陣列、

    1. 定義結構體陣列

      1. 單獨定義、

        1. struct a
          {
          	int m;
          	int	d;
          	int y;
          };
          struct b
          {
          	int xuhao;
          	char ming[];
          	int xingbie;
          	int nianling;
          	char dizhi;
          	struct a rqi;//結構體套結構體、
          };
          
          int main()
          
          {
          	struct b c[5];//單獨定義
          
      2. 定義結構時定義

        1. struct a
          {
          	int m;
          	int	d;
          	int y;
          };
          struct b
          {
          	int xuhao;
          	char ming[50];
          	int xingbie;
          	int nianling;
          	char dizhi;
          	struct a rqi;//結構體套結構體、
          }d[5];//全域性定義、
          
          
          
      3. 定義時初始化、

        1. 定義時每個元素使用{},間隔

        2. struct b c[5] = {
          		{41,"姓名",1, 23,34},
          		{45,"姓名",1, 25,31},
          		{46,"姓名",1, 20,32},
          	};
          
          
        3. struct b c[5] = {
          		{41,"姓名",1, 23,34},
          		{41,"姓名",1, 20,34},
          		{41,"姓名",1, 27,34},
          	};
          
          	c[1].nianling++;
          	printf("nianling=%d\n", c[1].nianling);
          
  2. 結構體指標、

    1. 結構體變數的指標、指向該結構體變數所佔的記憶體段的起始地址、

    2. 也可以指向結構體陣列中的元素、

      1. struct b d;
           	struct b* c;
           	c = &d;
           
           	d.nianling = 29;
           	(*c).nianling = 40;
           	c->nianling = 31;
           
           	printf("ninliang=%d\n", c->nianling);
        
        
        
    3. -> 指向結構體成員運算子、

  3. 用指向結構體的指標做函式引數、