龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

学点 C 语言(25): 数据类型 - 结构数组与结构指针

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
1. 结构数组: #include int main(void) { struct Rec {int x,y;}; struct Rec rs[10]; size_t i; for (i = 0; i rs[i].x = i; rs[i].y = i * 2; } for (i = 0; i printf("%d, %dn", rs[i].x, rs[i].y); } getchar(); return 0; } #include int main(void)

  1. 结构数组:

#include 

int main(void)

{

  struct Rec {int x,y;};

  struct Rec rs[10];

  

  size_t i;

  for (i = 0; i < sizeof rs/sizeof rs[0]; i++) {

    rs[i].x = i;

    rs[i].y = i * 2;  

  }

  for (i = 0; i < sizeof rs/sizeof rs[0]; i++) {

    printf("%d, %dn", rs[i].x, rs[i].y);  

  }

  

  getchar();

  return 0;

}

#include 

int main(void)

{

  struct Rec {

    char name[12];

    short age;

  } rs[3] = {

        {"AAA", 11},

        {"BBB", 22},

        {"CCC", 22}

       };

  size_t i;

  for (i = 0; i < sizeof rs/sizeof rs[0]; i++) {

    printf("%s, %dn", rs[i].name, rs[i].age);  

  }

  

  getchar();

  return 0;

}

  2. 结构指针指向已存在的结构数组:

#include 

int main(void)

{

  struct Rec {

    char name[12];

    short age;

  } rs[3] = {

        {"AAA", 11},

        {"BBB", 22},

        {"CCC", 22}

       };

  struct Rec *p = rs;

 

  printf("%s, %dn", p->name, p->age);

  printf("%s, %dn", (p+1)->name, (p+1)->age);

  printf("%s, %dn", (p+2)->name, (p+2)->age);

  

  getchar();

  return 0;

}

精彩图集

赞助商链接