数据结构 / 结构体指针

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);
相关推荐
sulikey7 分钟前
Linux基础指令与权限管理深度解析:从入门到精通
linux·运维·服务器·ubuntu·centos·linux命令·linux权限
AI科技星10 分钟前
为什么变化的电磁场才产生引力场?—— 统一场论揭示的时空动力学本质
数据结构·人工智能·经验分享·算法·计算机视觉
s***469834 分钟前
linux 设置tomcat开机启动
linux·运维·tomcat
xu_yule37 分钟前
网络和Linux网络-3(套接字编程)TCP网络通信代码
linux·网络·tcp/ip
前端世界1 小时前
float 还是 double?用储罐体积计算带你看懂 C 语言浮点数的真实世界坑
java·c语言·开发语言
小青龙emmm2 小时前
2025级C语言第二次周测(国教专用)题解
c语言·开发语言·算法
HalvmånEver2 小时前
Linux:进程的切换与调度(进程四)
linux·运维·服务器
学习路上_write2 小时前
FREERTOS_互斥量_创建和使用
c语言·开发语言·c++·stm32·单片机·嵌入式硬件
一起养小猫2 小时前
《Java数据结构与算法》第三篇(下)队列全解析:从基础概念到高级应用
java·开发语言·数据结构
LCG元3 小时前
终端里的"黑客帝国":htop, glances, bpytop 系统监控工具横评
linux