结构体之引用结构体成员变量

引用结构体成员变量

一个结构体包含一个或者多个成员变量,在实际使用中,就需要对其成员变量进行引用,对于一个已经定义了的结构体变量和一个指向该结构体的指针变量。

可以用一下三种情况引用结构体 成员变量。

1、由结构体变量名引用其成员:

结构体变量名.成员名

2、由指向结构体的指针变量引用结构体成员
指针变量名 -> 成员名

3、(*指针变量名).成员名

结构体指针:指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果把一个结构体变量的起始地址存放在一个指针变量中,那么这个指针变量就是指向该结构体的变量。

其中,"."  是成员运算符,它在所有的运算符中优先级最高。  “->”  结构体指向运算符 
struct student {   
 //成员列表    
 string name;  //姓名    
 int age;      //年龄    
 int score;    //分数 
 };
 struct student stu = { "小明",6,100, };
int main() {  

   //定义了一个结构体 指针p,并且对它进行初始化
   
     struct student * p = &stu;   
     //引用结构体成员变量的三种形式:
  cout<<"stu.score= "<<stu.score<<endl;
  cout<<"p->score ="<<p->score<<endl;
  cout<<"(*p).score= "<< (*p).score<<endl;
   system("pause");
   return 0; 
    }

}

另外,对于引用结构体数组变量的成员变量。具体做法:
#include
using namespace std;
#include
struct student {
	//成员列表    
	string name;  //姓名    
	int age;      //年龄    
	int score;    //分数
};
//定义结构体变量,并初始化。
struct student stu[3] = {
   {"小明",6,100 },
   {"小芳",7,99 },
   {"小华",16,80 }
};
int main() {

	struct student * p;
	for (p = stu; p < stu + 3; p++)
	{
		cout << "年龄是:" << p->age << "名字是:" << p->name << "分数是:" << p->score << endl;


	}

	system("pause");
	return 0;

}

你可能感兴趣的:(c++,c语言)