• 以返回值的方式输出



1 #include<stdio.h>
2 typedef struct Point{
3 int x;
4 int y;
5 } Point;
6 void Display(Point point)
7 {
8 printf("x:%d \n",point.x);
9 printf("y: %d \n",point.y);
10 }
11 Point SetPoint(int x,int y)
12 {
13 Point p;
14 p.x=x;
15 p.y=y;
16 return p;
17 }
18 int main()
19 {
20 Point point;
21 point=SetPoint(3,5);
22 Display(point);
23 }


  • 结构作为指针传参



1 #include<stdio.h>
2 typedef struct Point{
3 int x;
4 int y;
5 } Point;
6 void Display(Point point)
7 {
8 printf("x:%d \n",point.x);
9 printf("y: %d \n",point.y);
10 }
11 void SetPoint(Point *p,int x,int y)
12 {
13 //两种写法都可以
14
15 (*p).x=x;
16 p->y=y;
17 }
18 int main()
19 {
20 Point point;
21 SetPoint(&point,3,5);
22 Display(point);
23 }