• C语言基础:C语言结构体(5)


    上一节, 我们讲解了结构体数组, 这次我们来讲解指向结构体的指针, 之前我说过, 只要有地址, 指针就能指向它, 那么下面我们来看看结构体的指针吧~~~


    下面我们来看一个例子:

    #include <stdio.h>
    
    int main()
    {
        struct Student
        {
            int age;
            char *name;
        };
        
        struct Student sut1 = {20, "小明"};
        
        printf("%d  %s
    ", sut1.age, sut1.name);
        
        return 0;
    }

    按照常规, 我们是这样子定义结构体, 并且调用结构体, 但是用了指针, 我们就有了其他的调用方式, 下面我们继续来看例子:

    #include <stdio.h>
    
    int main()
    {
        struct Student
        {
            int age;
            char *name;
        };
        
        struct Student stu = {20, "小明"};
        
        printf("stu = %d  stu = %s
    ", stu.age, stu.name);
        printf("stu = %p
    ", &stu);
        
        struct Student *p;
        
        p = &stu;
        // 这不是最常用的写法
    //    printf("p = %d p = %s
    ", (*p).age, (*p).name);
        
        // 下面这个才是我们结构体指针最常用的写法
        printf("p = %d p = %s
    ", p->age, p->name);
        printf("p = %p
    ", p);
        
        return 0;
    }

    输出的结果:



    下面我们来看看示意图:



    指针p存的是结构体stu的地址, 可以间接调用里面的成员, 所以也就有我们所看到的输出结果啦~~~



    好了, 这次就到这里吧~~~剩下的东西和之前讲指针里面的知识点都差不多的, 所以这里就不多介绍了~~~

  • 相关阅读:
    2 3 5 7的倍数
    三角形面积
    数塔取数问题
    拼成最小的数
    JMeter使用总结
    jmeter+ant生成报告(ubuntu环境)
    LINUX常用命令,不定时更新
    oracle语句使用总结
    "the import org.junit can not be resolved"解决办法
    [SWPUCTF 2018]SimplePHP
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282882.html
Copyright © 2020-2023  润新知