2.8.1 结构体的定义
//2_8_1
struct studentInfo{
int id;
char gender;
char name[20];
char major[20];
}Alice,Bob,stu[1000];
没看懂这个的意思
//2_8_1
studentInfo Alice;
studentInfo stu[100];
2.8.2 访问结构体内的元素
//2_8_1
stu.id
stu.name
stu.next
//2_8_1
(*p).id
(*p).name
(*p).next
//2_8_1
p->id
p->name
p->next
2.8.3 结构体的初始化
//2_8_1
struct studentInfo{
int id;
char gender;
//下面的参数用以对结构体内部变量赋值
studentInfo(int _id,char _gender){
//赋值
id=_id;
gender=_gender;
}
};
//2_8_1
struct studentInfo{
int id;
char gender;
studentInfo(int _id,char _gender) : id(_id),gender(_gender){ }
};
//2_8_1
struct studentInfo{
int id;
char gender;
//用以不初始化就定义结构体变量
studentInfo(){ }
//只初始化gender
studentInfo(char _gender){
gender = _gender;
}
//同时初始化id 和 gender
studentInfo(int _id,char _gender){
id =_id;
gender = _gender;
}
};
//2_8_2
#include<stdio.h>
struct Point{
int x,y;
Point(){ }//用以不经初始化地定义pt[10]
Point(int _x,int _y):x(_x),y(_y) { } //用以x 和y 的初始化
}pt[10];
int main(){
int num=0;
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
pt[num++]=Point(i,j);//直接使用构造函数
}
}
for(int i=0;i<num;i++){
printf("%d,%d\n",pt[i].x,pt[i].y);
}
return 0;
}