struct point{ int x; int y; }p1,p2; 后面的p1p2啥意思啊?

如题所述

这个是混合定义
所谓混合定义就是指在定义结构类型的同时定义结构变量
这种定义的方法一般形式为
struct 结构名{
类型名 结构成员名1
类型名 结构成员名2
类型名 结构成员名3
.............
}结构变量名表
就如你上面的
struct point
{ int x;
int y;
}p1,p2;
p1,p2就是采用这种混合定义产生的两个结构体变量,即在定义结构类型的同时,也定义了结构变量 ,希望能对你有所帮助。。。追问

我在书上也看到类似于这样的话,结构类型 结构变量都是什么意思啊?谢谢了、

追答

结构类型是把一些基本类型的数据(例如:int,float,char,double,指针...........)聚合成一个整体的数据类型,这样过后你就把它看做基本类型那样来定义变量,这样定义出来的变量就是结构变量
例如 申明整型变量 x :int x (int 为类型,x 为变量)
由于结构类型是其它基本类型的组合,所以你要先把结构类型先弄出来,这就是结构类型的定义。例如你的 struct point{int x;inty;}这就是在做结构体的定义,这时struct point就相当于一个类型,就如基本数据类型(int,double........),以后你就可以像使用基本数据类型那样来使用它
定义变量:如 struct point m 这时m就是一个变量,是一个struct point 类型的变量(类似于int型变量x)

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-25

这是预定义两个结构体,表示p1、p2是两个point结构。

或者用另一种表达方法。

//方法1
struct point{
    int x;
    int y;
};
struct point p1,p2;
//方法2
typedef struct point{
    int x;
    int y;
}Point;
Point p1,p2;

第2个回答  2017-12-25
马上申请两个point类型的变量p1和p2
第3个回答  2017-12-25
定义了两个point变量p1,p2
第4个回答  2011-12-28
定义名为p1,p2,的结构体
相似回答