求解C语言指针结构体报错+warning问题
发布网友
发布时间:2023-07-05 07:55
我来回答
共1个回答
热心网友
时间:2024-11-25 15:53
#include <stdio.h>
struct point{
int x;
int y;
};
struct point* getStruct(struct point *);
void output (struct point);
void print(const struct point *p);
int main(int argc,char const *argv[])
{
struct point y = { 0 , 0};
getStruct(&y);
output(y);
output(*getStruct(&y));
print(getStruct(&y));
}
struct point* getStruct(struct point *p)
{
//static struct point p;
scanf("%d",&p->x);
scanf("%d",&p->y);
printf("%d %d\n",p->x,p->y);
return p;
}
void output (struct point p)
{
printf("%d %d\n",p.x,p.y);
}
void print(const struct point *p)
{
printf("%d %d\n",p->x,p->y);
}
追问第24-26行的改动,明白了,我把指针来当成结构来访问了。。。
但能解释一下第23行为什么不能声明struct point p呢,怎么成静态的了