数据结构 / 结构体指针

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);
相关推荐
少许极端4 分钟前
算法奇妙屋(五)-链表
数据结构·算法·链表
aitav011 分钟前
⚡ arm 32位嵌入式 Linux 系统移植 NTP 服务
linux·arm开发·ntp
爱奥尼欧30 分钟前
【Linux笔记】网络部分——socket 编程 TCP实现多台虚拟机使用指令访问云服务器
linux·服务器·网络
木子.李34731 分钟前
数据结构-算法C++(额外问题汇总)
数据结构·c++·算法
yolo_guo35 分钟前
sqlite 使用: 03-问题记录:在使用 sqlite3_bind_text 中设置 SQLITE_STATIC 参数时,处理不当造成的字符乱码
linux·c++·sqlite
m0”-“0m1 小时前
MySQL、Nignx和Docker在Linux上的安装详解
linux·数据库·mysql
luopandeng1 小时前
amd npt技术 对比 intel ept 技术
java·linux·网络
迎風吹頭髮1 小时前
UNIX下C语言编程与实践60-UNIX TCP 套接字关闭:close 与 shutdown 函数的区别与使用场景
c语言·网络·unix
程序员莫小特1 小时前
老题新解|计算2的N次方
开发语言·数据结构·算法·青少年编程·信息学奥赛一本通
---学无止境---2 小时前
Linux中kmalloc内存分配函数的实现
linux