结构体变量与指针
内置类型能够定义指针变量,结构体类型也可以定义结构体类型指针
结构体类型指针访问成员的获取和赋值形式:
(*p). 成员名
住:. 的优先级高于 * ,所以对*p两边的括号不能少
因为优先级问题 在这里我们可以使用 p -> 成员名 来简化表示
-> 称为 指向符
eg. 定义一个银行卡数组,每位存放一个卡,每个卡都有其所有者
struct User{
char name[20];
char sex[6];
int age;
};
struct Card{
int id;
int passwd;
double money;
User user;
};
InitCard(Card* p ,int id ,int passwd ,double money ,User *user){
p->id = id;
p->passwd = passwd;
p->money = money;
strcpy(p->user.name ,user.name);
strcpy(p->user.sex ,user.sex);
p->user.age = user.age;
}//初始化Card
InitUser(User* puser ,char *name , char *sex , int age){
strcpy(puser->name , name);
strcpy(puser->sex , sex);
puser->age = age;
}//初始化User
int main(){
Card cards[10];
int length;
int size;
Card c;
User user;
InitUser(&user,"zhangsan","man",20);
InitCard(&c,1,1,0.0,&user);
card[size] = c;
size++;
return 0;
}
大概就是这样,还有点粗糙,后续还需要细化总结。