DZ小明 2016-12-04 08:14 采纳率: 75%
浏览 1321
已采纳

关于结构体的箭头操作符

我的代码是下面这样,但是总会在编译时提醒我:
使用了未初始化的局部变量”pdata“
查了下一,这样好像也没有什么错误啊,为什么老是这样提示我的?
我的编译器是win8.1的VS2013,不知道有影响没?
如果可以,请顺便给我一个对于结构体的点操作符和箭头操作符解释比较清楚详细的文章的链接。谢谢!

struct DATA // 定义一个结构体类型:DATA

{
char key[10]; // 结构体成员:key

char name[20]; // 结构体成员:name

int age; // 结构体成员:age

};

int main()
{
struct DATA data; // 声明一个结构体变量

struct DATA *pdata; // 声明一个指向结构体的指针

// 访问数据操作如下:  
data.age = 24;          // 结构体变量通过点运算符( . )访问  
pdata->age = 24;        // 指向结构体的指针通过箭头运算符( -> )访问  
system("pause");
return 0;

}

  • 写回答

2条回答 默认 最新

  • lunhui2016 2016-12-04 14:08
    关注

    你的pdata没有指向你定义的结构体变量,而是指向一个无用的地址,肯定用不了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器