码迷,mamicode.com
首页 > 其他好文 > 详细

关于结构体类型的学习

时间:2019-07-26 01:40:30      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:定义   结构   main   color   数组   --   void   span   col   

1. 定义结构体类型时,最后的分号一定不能忘;

struct st
{
    int num;
    int s;
//分号不能少 
};

2. 关于结构体成员的获取:

int main(void)
{
    struct st a[3];
    int i=0;
    scanf("%d",a); //输入a[0].num的值
    scanf("%d",&a->s); //a.s的值
    scanf("%d",(a+1));  //a[1].num
    scanf("%d",&(a+1)->s);  //a[1].s
    scanf("%d",&((*(a+2)).num));  //a[2].num
    scanf("%d",&a[2].s);  //a[2].s
    printf("输入结束"); 
    for(i=0;i<3;i++){
        printf("a[%d].num--%d; a[%d].s--%d\n",i,a[i].num,i,a[i].s);    
    } 
} 
  • 对于一维数组a[N]来说,a是数组第一个元素的地址;
  • 对二维数组a[N][M]来说,a是第一排第一个元素的地址;
  • 对于结构体类型数组st a[N]来说,a是数组中第一个元素的第一个成员的地址;

3. 成员获取

  • a第一个元素的num的地址;
  • a->s表示第一个元素的s数据成员,加&()获取其地址,&优先级比->低,因此可以不用加();
  • &(*(a+2)).num表示第三个元素的num的地址,因为“.”的优先级比*的高,因此要括起来(*(a+2))num,若写成*(a+2).num则错误;

关于结构体类型的学习

标签:定义   结构   main   color   数组   --   void   span   col   

原文地址:https://www.cnblogs.com/shellingfordly/p/11247735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!