c语言结构体指针和普通指针的使用

        int iTest[10] = {0};
        int *pIt;
        pIt = iTest;
        *pIt = 3;
        pIt = &iTest[3];
        *pIt = 4;
        pIt[1] = 5;

         typedef struct {
         int a;
         int b;
         }strTest;
         strTest  myStruTst[10];
         strTest  *pStruT;
         pStruT = myStruTst;
         pStruT->b = 1;
         pStruT->a = 2;

         pStruT = &myStruTst[3];
         pStruT->b = 3;
         pStruT->a = 4;

通过结构体指针可以获取结构体成员,一般形式为:

(*pointer).memberName

或者:

pointer->memberName

第一种写法中,.的优先级高于*(*pointer)两边的括号不能少。如果去掉括号写作*pointer.memberName,那么就等效于*(pointer.memberName),这样意义就完全不对了。

第二种写法中,->是一个新的运算符,习惯称它为“箭头”,有了它,可以通过结构体指针直接取得结构体成员;这也是->在C语言中的唯一用途。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值