zoukankan      html  css  js  c++  java
  • C基础--结构体

    C语言,结构体语法:

    1.定义结构体类型:

    struct 结构体名称

    {

      成员类型  成员名称1;

      成员类型  成员名称2;

      ...

    };

    例:struct Date

    {

      int year ;

      int month ;

      int day ;

    }

    2.结构体在内存中

    例一:

    struct Student

    {

      char *name;//指针占8个字节

      int no;//int占4个字节

      int age;//int占4个字节

    };

    struct Student s1 ;

    int length = sizeof(s1);//得到的长度是16

    例二:

    struct Student

    {

      int age ;//占4个字节

      char sex ;//占1个字节

    };

    struct Student s2;

    int length = sizeof(s2);//得到的长度是8

    总结:默认情况下,一个结构体变量所占用的存储空间是所有成员的总和。

       sizeof计算结构体所占用存储空间时,返回值必须是最大成员的倍数。

    3.结构体数组:

    struct Record

    {

      int no;//排名

      char *name;

      int score;

    };

    struct Record records[3]=

    {

      {1, "jack", 10},

      {2, "jim" ,9},

      {3, "tom" ,5}

    };

    4.指向结构体类型的指针(注意:结构体作为函数参数时,只是成员的值传递,修改函数内部的结构体,并不影响外面的结构体)

    定义结构体 

    struct Date

    {

      int year;

      int month;

      int day;

    };

    //指向结构体的指针

    struct Date mydate = {2016,1,16};

    struct Date *p ;

    p=&mydate;

    //给指针变量p所指向的结构体的year成员赋值

    //方法一:(*p).year=2000;

    //方法二:p->year=2000;

  • 相关阅读:
    bzoj1854 [Scoi2010]游戏
    bzoj2456 mode
    bzoj4810 [Ynoi2017]由乃的玉米田
    bzoj1076 [SCOI2008]奖励关
    bzoj3064 Tyvj 1518 CPU监控
    bzoj1798 [Ahoi2009]维护序列
    bzoj3575 [Hnoi2014]道路堵塞
    bzoj3992 [SDOI2015]序列统计
    uoj#34. 多项式乘法
    高等代数典型问题集
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5140816.html
Copyright © 2011-2022 走看看