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

关于结构体的箭头操作符

我的代码是下面这样,但是总会在编译时提醒我:
使用了未初始化的局部变量”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没有指向你定义的结构体变量,而是指向一个无用的地址,肯定用不了

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2016-12-04 08:49

    struct DATA *pdata = &data;
    需要一个初始化

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题