C 结构体指针变量


  1、结构体指针变量——用于存放结构体在内存中的起始地址的指针变量。

 

 

  2、结构体指针变量的作用

    在程序开发时,我们可以定义一个“结构体的指针变量”来保存“结构体变量”在内存中的起始地址,然后,就可以通过指针变量来获取结构体中的成员。

    当我们需要获取同一个结构体定义其它结构体变量中的成员时,我们只需要把其它“结构体变量”的内存起始地址保存于“结构体指针变量”中,那么,就可以通过指针变量获取同一个结构体定义的其它“结构体变量”中的成员,而不需要重新定义另一个“结构体指针变量”。    

 

 

  3、结构体指针变量的定义格式:

      struct 结构体名字 * 变量名;

 

      例子:

        struct ST

        {

          int   a;

         char  b;

         float  c;

        };

 

        struct ST *p; //定义了一个结构体变量指针p

 

 

  4、结构指针变量的赋值格式:

    结构体指针变量 = &结构体变量;

 

    分析:通过&取出结构体变量的地址,赋给结构体指针变量。

 

      例子:

        struct ST

        {

          int   a;

         char  b;

         float  c;

        };

 

        struct ST st_1;  //定义了一个结构体变量st_1

        struct ST *p;    //定义了一个结构体变量指针p

 

        p = &st_1;     //取出结构体变量st_1的地址赋给结构体指针变量p

 

  

   5、通过结构体指针变量获取成员的格式:

 

     格式1:(*指针变量名).成员名字;

 

   格式2:指针变量名->成员名字;

 

   以上两种格式都可以获取结构体中的成员,不过格式2在书写时较为简洁。

 

      例子:

        struct ST

        {

          int   a;

         char  b;

         float  c;

        };

 

        struct ST st_1 = {1,'a',1.5};  //定义了一个结构体变量st_1

        struct ST st_2 = {2,'b',2.5};  //定义了一个结构体变量st_2

 

        struct ST *p;    //定义了一个结构体变量指针p

 

        p = &st_1;     //取出结构体变量st_1的地址赋给结构体指针变量p

 

        p->a;    //通过结构体指针变量p获取st_1的成员a中值1

        p->b;    //通过结构体指针变量p获取st_1的成员b中值'a'

 

        p = &st_2; //取出结构体变量st_2的地址赋给结构体指针变量p

 

        p->a;   //通过结构体指针变量p获取st_2的成员a中值2

        p->b;    //通过结构体指针变量p获取st_2的成员b中值'b'

 

 例子分析:

  (1)通过上面的例子,大家可以看到p=&st_1;首先指向st_1并取出成员a与b中的值分别是1和'a'。

  (2)然后,p=&st_2;再指向st_2并取出成员a与b中的值分为是2与'b'。 

 

 

   

   非常好,现在,我们已经掌握了C中的“结构体指针变量”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“结构体指针变量”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

      不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练