数据结构 / 结构体指针

1. 格式

cpp 复制代码
     struct 结构体名
    {
        数据类型 成员1;
        数据类型 成员2;  
        .... 
    };
    struct 结构体名 *指针变量名

2. 结构体指针指向普通变量的地址

cpp 复制代码
     struct CAR
    {
        char name[10];
        int price;    
    };
    struct CAR car={"byd",160}; 
    struct CAR *p=&car; //p是指向结构体变量car的指针
    // p->name 等价于car.name
    // (*p).name //不常用
    // (&car)->name //不常用
 
    // p->price 等价于car.price
    //(*p).price //不常用
    //(&a)->price //不常用

3.结构体指针指向结构体数组的地址

cpp 复制代码
     struct CAR
    {
        char name[20];
        int price;    
    };

    struct CAR car[3]={"byd", 160,"wuling",50,"geely", 90};
    struct CAR *p=car; //数组指针
    for(int i=0;i<3;i++)
    {
        printf("%s  %d\n",(p+i)->name,(p+i)->price);    
    }

4.结构体指针指向堆区的内存

cpp 复制代码
      struct CAR
    {
        char name[10];
        int price;    
    };

    struct CAR car[4];
    struct CAR *p=(struct CAR*)malloc(sizeof(struct CAR)*4);
相关推荐
LIZhang20161 小时前
linux写一个脚本实时保存内存占用情况
linux·运维·服务器
汀、人工智能1 小时前
[特殊字符] 第93课:太平洋大西洋水流问题
数据结构·算法·数据库架构·图论·bfs·太平洋大西洋水流问题
IDC02-阿杰2 小时前
Windows WSL2安装Ubuntu24.04全攻略
linux·windows
s09071362 小时前
ZYNQ7000 AXI DMA 接收中断(S2MM_introut)全解析:从硬件原理到Linux驱动开发
linux·驱动开发·dma·zynq
camellias_2 小时前
ubuntu(二)ubuntu18.04安装mysql8
linux·ubuntu·adb
藤谷性能2 小时前
Ubuntu 22.04:安装串口调试助手CoolTerm
linux·运维·ubuntu·串口·coolterm
路溪非溪2 小时前
如何使用sysfs来排查驱动问题
linux·arm开发·驱动开发
kang_jin2 小时前
C语言结构体入门:stu定义与成员使用
c语言·教程·编程语言·入门·结构体
丶伯爵式2 小时前
Ubuntu 新装后常用设置
linux·运维·ubuntu
哼?~2 小时前
Socket编程准备
linux·网络