指针与结构体

重点:

定义变量:按类型分配空间

    类型 变量名;

    类型 数组名;

初始化:

引用变量:引用内容

   1、自身内容:  变量名;  *地址

       a

       数组名[下标]
       
       
1、指针与变量的关系:

  1、见源代码

2、指针与数组的关系:

  2.1指针与一维普通数组

  2.2指针数组:专门用于存放指针的数组

        类型* 数组名[长度]    eg:  int* buf[10]

        引用元素:数组名[下标法]

  2.3指针与二维数组: int buf[10]   int buf1[3][4]

       一维数组名:指向是该行第一列

            buf+0第一列   buf+1第二列

       二维数组名:指向是某一行的地址

            1、buf1+0第一行  buf1+1 第二行        buf1行地址

            2、由于buf1[0] buf1[1] buf1[2]三个一维数组成的一个int buf1[3][10]的二维数组

               所所以buf1[0]等价一维数组的名字(列)

                 buf1[0]+0第一行的第一列  buf1[0]+1第一行的 第二列的地址
                 
            3、引用内容:必须确定到行和列

                buf1[2][2],*(buf1[2]+2),*(*(buf1+2)+2),(*(buf1+2))[2]
  
          二维指针变量:   类型 (*指针变量)[列]

   2.4指针与结构体变量的关系:

      结构体:自定义类型

      结构体变量:分配空间按类型分配    

      2.4.1定义结构体指针变量: struct 类型*  变量名

      2.4.2引用成员:

            变量.成员;

            指针->成员;

            (*指针).成员;

            注:指针变量必须指向一个元素

优先级:       

          . >  *  > 运算符  > 逻辑运算符 >  赋值        

      2.4.3结构体指针数组:

            类型* 数组名[长度];     

            struct people* buf[10];

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值