结构数组,结构数组类型(typedef)

文章来源于http://blog.sina.com.cn/s/blog_70ec9a6f01013bel.html
首先请看示例:注意蓝色部分
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
      typedef struct ArcCell{
              int age;
              float length;
       }AcrCell,  AdjMatrix[2][3];

       struct student{
              int age;
              float length;
       } MG[2][3];

       int i,j;
       AdjMatrix        t_arcs;
       for(i=0;i<2;i++)
              for(j=0;j<3;j++)
                    scanf("%d %f",&t_arcs[i][j].age,&t_arcs[i][j].length); //注意此处语法
      
       for(i=0;i<2;i++)
              for(j=0;j<3;j++)
                    printf("age=%d, length %f\n",t_arcs[i][j].age,t_arcs[i][j].length); //注意此处语法     

       for(i=0;i<2;i++)
              for(j=0;j<3;j++)
                    scanf("%d %f",&MG[i][j].age,&MG[i][j].length);

       for(i=0;i<2;i++)
              for(j=0;j<3;j++)
                    printf("age=%d, length %f\n",MG[i][j].age,MG[i][j].length);     

       system("PAUSE");
       return 0;

说明:
1、结构类型
typedef struct ArcCell{
       int age;
       float length;
}AcrCell ;
AceCell acrs;
tips:
    AcrCell是一个类型名,该类型表示结构struct ArcCell;所以arcs就是一个struct ArcCell类型的变量。

2、结构数组类型
typedef struct ArcCell{
       int age;
       float length;
}AcrCell,  AdjMatrix[2][3];
AdjMatrix t_arcs;
tips:
    其中AdjMatrix是一个类型的名称,该类型是一个以结构AcrCell为元素的2*3维数组,t_arcs是该类型的变量。 上述声明与下面等同:
typedef struct ArcCell{
       int age;
       float length;
}AcrCell;
typedef  AcrCell  AdjMatrix[2][3];
AdjMatrix t_arcs;
    使用t_arcs元素时直接用数组方式调用,具体参看程序里面。

3、结构数组
struct student{
       int age;
       float length;
}MG[2][3];
tips:
    MG不是类型名称,而是一个数组名称,该数组元素是struct student,2*3维。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值