数据结构 / 结构体指针

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);
相关推荐
北域码匠11 小时前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
Web3探索者1 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo1 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao3 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3105 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒6 天前
TShark:Wireshark CLI 功能
linux
A小辣椒7 天前
TShark:基础知识
linux
AlfredZhao7 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci