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

关于结构体的箭头操作符

我的代码是下面这样,但是总会在编译时提醒我:
使用了未初始化的局部变量”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条)

报告相同问题?