C 结构体指针变量
1、结构体指针变量——用于存放结构体在内存中的起始地址的指针变量。
2、结构体指针变量的作用
在程序开发时,我们可以定义一个“结构体的指针变量”来保存“结构体变量”在内存中的起始地址,然后,就可以通过指针变量来获取结构体中的成员。
当我们需要获取同一个结构体所定义的其它结构体变量中的成员时,我们只需要把其它“结构体变量”的内存起始地址保存于“结构体指针变量”中,那么,就可以通过指针变量获取同一个结构体所定义的其它“结构体变量”中的成员,而不需要重新定义另一个“结构体指针变量”。
3、结构体指针变量的定义格式:
struct 结构体名字 * 变量名;
例子:
struct ST
{
int a;
char b;
float c;
};
struct ST *p; //定义了一个结构体变量指针p
4、结构指针变量的赋值格式:
结构体指针变量 = &结构体变量;
分析:通过&取出结构体变量的地址,赋给结构体指针变量。
例子:
struct ST
{
int a;
char b;
float c;
};
struct ST st_1; //定义了一个结构体变量st_1
struct ST *p; //定义了一个结构体变量指针p
p = &st_1; //取出结构体变量st_1的地址赋给结构体指针变量p
5、通过结构体指针变量获取成员的格式:
格式1:(*指针变量名).成员名字;
格式2:指针变量名->成员名字;
以上两种格式都可以获取结构体中的成员,不过格式2在书写时较为简洁。
例子:
struct ST
{
int a;
char b;
float c;
};
struct ST st_1 = {1,'a',1.5}; //定义了一个结构体变量st_1
struct ST st_2 = {2,'b',2.5}; //定义了一个结构体变量st_2
struct ST *p; //定义了一个结构体变量指针p
p = &st_1; //取出结构体变量st_1的地址赋给结构体指针变量p
p->a; //通过结构体指针变量p获取st_1的成员a中值1
p->b; //通过结构体指针变量p获取st_1的成员b中值'a'
p = &st_2; //取出结构体变量st_2的地址赋给结构体指针变量p
p->a; //通过结构体指针变量p获取st_2的成员a中值2
p->b; //通过结构体指针变量p获取st_2的成员b中值'b'
例子分析:
(1)通过上面的例子,大家可以看到p=&st_1;首先指向st_1并取出成员a与b中的值分别是1和'a'。
(2)然后,p=&st_2;再指向st_2并取出成员a与b中的值分为是2与'b'。
非常好,现在,我们已经掌握了C中的“结构体指针变量”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用“结构体指针变量”去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)