Yan_websying 2022-03-26 13:54 采纳率: 100%
浏览 42
已结题

学习c语言数据结构时不知道为什么有时候用->有时候却用 .

为什么这样定义时可以用 L.data[1];

img

为什么换一种存储方式定义就要使用L->data

img

  • 写回答

3条回答 默认 最新

  • a5156520 2022-03-26 14:12
    关注

    我是这么理解的:
    如果用typdef 定义结构,结构变量访问结构里的成员用点号. ;
    如果是定义一个结构指针(带星号),就用->这种访问方式。
    下面是一个简单的例子:

    #include <stdio.h>
    
    typedef struct message {
        char name[25];
        int age;
    }message ,*pmessage;
    
    int main(){
        message a = {"张三",25};
        pmessage pa = &a;
        printf("结构变量访问结构成员:%s %d\n",a.name,a.age);
        printf("结构指针访问结构成员:%s %d\n",pa->name,pa->age);
        
        return 0;
    } 
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月7日
  • 已采纳回答 3月30日
  • 修改了问题 3月26日
  • 创建了问题 3月26日

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序