数据结构 / 结构体指针

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);
相关推荐
看到代码头都是大的1 分钟前
CentOS环境下手动升级openssl、openssh
linux·运维·centos
浮生若城2 分钟前
Linux——Ext系列文件系统
linux·运维·服务器
01_ice9 分钟前
C语言数据在内存中的存储
c语言·开发语言
bucenggaibian19 分钟前
《C语言》编程前置:计算机底层逻辑(诞生的基础)
c语言·程序框架·编译运行·内存地址·底层逻辑
枳实-叶30 分钟前
【Linux驱动开发】第16天:按键中断完整实战
linux·运维·驱动开发
杨云龙UP2 小时前
Oracle Recycle Bin 回收站详解:DROP TABLE 后还能找回吗?
linux·运维·数据库·sql·mysql·oracle
小娄~~2 小时前
C语言卷子错题集
c语言·开发语言·数据结构
又熟了3 小时前
乌班图Ubuntu安装
linux·运维·ubuntu
Cat_Rocky4 小时前
Linux-ansible之Playbook简单应用
linux·网络·ansible
Do_GH4 小时前
【Linux】09.WSL+SVN部署操作说明
linux·运维·svn