10.2结构与指针根据结构类型可以定义一个变量。凡是变量都有地址通过取地址“&”操作,可以得到结构变量的地址。,这个地址是结构的第一个成员的地址
• 根据结构类型可以定义一个变量。 • 凡是变量都有地址。 • 通过取地址“&”操作,可以得到结构变量的 地址。 • 这个地址是结构的第一个成员的地址
例12:通过结构指针来访问结构的成员。void main()structPerson[char name[20];Personpr1;unsigned long id;Person * prPtr;float salary;1 :prPtr = &pr1;strcpy(prPtr->name,"David Marat");prPtr->id = 987654321;prPtr->salary = 335.0;cout<< prPtr->name<<" "<< prPtr->id<<" "1<< prPtr->salary<<endl;运行结果:335David Marat987654321
• 例12:通过结构指针来访问结构的成员。 void main( ) { Person pr1; Person * prPtr; prPtr = &pr1; strcpy(prPtr->name, "David Marat"); prPtr->id = 987654321; prPtr->salary = 335.0; cout<< prPtr->name<<" "<< prPtr->id<<" “ << prPtr->salary<< endl; } struct Person { char name[20]; unsigned long id; float salary; } ; 运行结果: David Marat 987654321 335
例12:通过结构指针来访问结构的成员。structPerson{结构pr1char name[20];prPtrname成员unsigned long id;&pr1id成员float salaryisalary成员 pr1:Person* prPtr = &pr1;注意:通过指针访问结构的成员要用箭头->操作符
• 例12:通过结构指针来访问结构的成员。 struct Person { char name[20]; unsigned long id; float salary; } pr1 ; Person * prPtr = &pr1; 注意:通过指针访问结构的成员要用箭头->操作符。 &pr1 prPtr name成员 id成员 salary成员 结构pr1
10.2结构与指针用点操作符“.”时,它的左边是一个结构变量用箭头操作符“->”时,它的左边是一个结构指针。指针是由类型的。结构指针指向一个相同类型的结构变量,例如: Person * prPtr=&pr1;等价于prPtr->namepr1.name等价于(*prPtr).name
• 用点操作符“ ꓸ ”时,它的左边是一个结构变量。 • 用箭头操作符“->”时,它的左边是一个结构 指针。 • 指针是由类型的。 • 结构指针指向一个相同类型的结构变量。 例如:Person * prPtr = &pr1; prPtr->name 等价于 pr1.name 等价于 (*prPtr).name
例13:void main()struct Person(pr1;Personchar name[20];unsignedlong id;Person * prPtr;float salary;prPtr = &pr1;B7strcpy((*prPtr)name,"David Marat");(*prPtr).id = 987654321;(*prPtr).salary = 335.0;cout<< (*prPtr). name<<" "<< (*prPtr). id<<" "1<< (*prPtr). salary<< endl;运行结果:335David Marat987654321
例13: void main( ) { Person pr1; Person * prPtr; prPtr = &pr1; strcpy((*prPtr)name, "David Marat"); (*prPtr).id = 987654321; (*prPtr).salary = 335.0; cout<< (*prPtr). name<<" "<< (*prPtr). id<<" “ << (*prPtr). salary<< endl; } struct Person { char name[20]; unsigned long id; float salary; } ; 运行结果: David Marat 987654321 335