有关用指针给结构体赋值的问题

我定义了这样一个结构体:typedefstructst{intx;inty;};然后生成了一个指针structst*p=(structst*)malloc(sizeof(... 我定义了这样一个结构体:
typedef struct st{
int x;
int y;
};

然后生成了一个指针
struct st *p =(struct st *)malloc(sizeof(struct st)*5);

并想为由用户输入指针所指的空间的值:
int x = 0, y = 0;
for(int i = 0;i < 5; i++)
{
scanf("%d,%d",&x,&y);
p -> x = x;
p -> y = y;
}

结果却是显示一大堆乱七八糟的数后内存分配出错,这是为什么,期待高手指教!
展开
 我来答
cyran5235
2008-09-19 · TA获得超过213个赞
知道答主
回答量:81
采纳率:0%
帮助的人:76.5万
展开全部
p -> x = x;
p -> y = y;
改成
p[i].x = x;
p[i].y = y;
或将
for(int i = 0;i < 5; i++)
改成
for(int i = 0;i < 5; i++,p++)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式