C语言中的 -> 与. 的区别

->是结构体的指针

#include <stdio.h>
struct re {
    
    
    int a;
    struct re* b;
};

int main()
{
    
    
    struct re c;
    struct re d;
    d.a = 2;
    c.b = &d;

    printf("%d\n",(*(c.b)).a);
    printf("%d\n",c.b->a);
}

在这里插入图片描述
比方说你有一个结构体c里有个指向另一个结构体d的指针b
d里面有一个int型指针a
其中 * a 得2
普通用2的话是
(*(c.b)).a才是2
但如果用->的话
c.b->a就是2
-> 就等于先加个 * 再加个 .

猜你喜欢

转载自blog.csdn.net/qq_36769966/article/details/102845490