黑马程序员技术交流社区

标题: IOS基础第十三天(二)笔记较长,分4部分发,版主莫警告 [打印本页]

作者: dushoupeng    时间: 2015-7-11 10:06
标题: IOS基础第十三天(二)笔记较长,分4部分发,版主莫警告

3.结构指针定义和初始化

   1、什么是结构体指针?

       用来存放结构体变量地址的指针变量。结构指针变量中的值是所指向的结构体变量的首地址。

    2、结构体指针定义

       struct 结构体名  *指针变量名;

       //定义一个结构体

      struct Car{

     

          int lunzi;

          int speed;

       }car1;

       struct Car *p=NULL; //定义一个结构体指针变量

       p = &car1;//正确的

       p = &Car;//错误的

  */

#include <stdio.h>

int main(int argc, const char * argv[]) {


    //定义一个结构体

    struct Car{

        

        int lunzi;

        int speed;

        

    }car1;

   

    //定义一个结构体指针

    struct Car *p=NULL; //定义一个结构体指针变量

   

    p = &car1;//正确的

   

    //p = &Car;//错误的

   


    //结构体名:Car

    //结构体变量名 car1

    //结构体指针: p

   

    return 0;

}

4.结构体指针间接访问成员值

1、结构体变量的成员值

  

       struct Student{

      

            int age;

            char *name;


       };


       //定义一个结构体的变量


       struct Student stu1={18,"张三丰"};


       //结构体变量的成员值有2个

       // stu1.age    值 18

       // stu1.name   值 张三丰


     2、用结构体指针间接的访问结构体变量的成员值


       //

       struct Student *p = &stu1;


       //使用p 获取 18   张三丰



       有两种方法:


       1) (*p).age     访问年龄    (*p)--->stu1

            (*p).name    访问姓名


       2) p->age   访问的年龄

           p->name  访问的是姓名


          注意:p一定是一个结构体指针


          stu1->name; //错误的


#include <stdio.h>


int main(int argc, const char * argv[]) {

   

    struct Student{

        

        int age;

        char *name;

        

    };

   

    //定义一个结构体的变量

   

    struct Student stu1={18,"张三丰"};

   

    //结构体变量的成员值有2个

    // stu1.age    值18

    // stu1.name   值 张三丰

   

   // 2、用结构体指针间接的访问结构体变量的成员值



    struct Student *p = &stu1;

    printf("姓名:%s,年龄:%d\n",(*p).name,(*p).age);

    printf("姓名:%s,年龄:%d\n",p->name,p->age);

    return 0;






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2