C语言 结构体指针变量

  1、 结构体指针变量

    结构体指针变量,在C语言中,我们可以通过结构体定义指针变量,而该指针变量需要指向一个

    已经定义好的结构体变量,这样,该指针变量中就存放了它所指向的那个结构体变量的内存地址。

    另外,大家要注意,(结构体指针变量)与它所指向的(结构体变量),必须是同一个结构体所定义的。

 

   2、构体指针变量的定义格式

      struct 结构体名字 * 变量名;

 

      例子:

        struct ST

        {

          int   a;

         char  b;

         float  c;

        };

 

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

    

   3、构指针变量的赋值格式

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

 

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

 

      例子:

        struct ST

        {

          int   a;

         char  b;

         float  c;

        };

 

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

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

 

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

 

  4、通过结构体指针变量调用成员的格式

 

     格式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;这样,(结构体指针变量p)就指向(结构体变量)st_1,

     然后,通过(结构体指针变量 p) 调用成员a与b中的值分别是1和'a'。

  (2)然后,执行代码p=&st_2;这样,(结构休指针变量 p) 再指向(结构体变量) st_2 ,

     然后,通过(结构体指针变量 p) 调用成员a与b中的值分为是2与'b'。 

 

=======================================================================

非常好,现在,我们已经掌握了C语言中的(结构体指针变量)但是,如何去运行用它呢?

所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)