1、 结构体指针变量
结构体指针变量,在C语言中,我们可以通过结构体定义指针变量,而该指针变量需要指向一个
已经定义好的结构体变量,这样,该指针变量中就存放了它所指向的那个结构体变量的内存地址。
另外,大家要注意,(结构体指针变量)与它所指向的(结构体变量),必须是同一个结构体所定义的。
2、构体指针变量的定义格式:
struct 结构体名字 * 变量名;
例子:
struct ST
{
int a;
char b;
float c;
};
struct ST *p; //定义了一个结构体指针变量p
3、构指针变量的赋值格式:
结构体指针变量 = &结构体变量;
分析:通过&取出结构体变量的地址,赋给结构体指针变量。
例子:
struct ST
{
int a;
char b;
float c;
};
struct ST st_1; //定义了一个结构体变量st_1
struct ST *p; //定义了一个结构体变量指针p
p = &st_1; //取出结构体变量st_1的地址赋给结构体指针变量p
4、通过结构体指针变量调用成员的格式:
格式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;这样,(结构体指针变量p)就指向(结构体变量)st_1,
然后,通过(结构体指针变量 p) 调用成员a与b中的值分别是1和'a'。
(2)然后,执行代码p=&st_2;这样,(结构休指针变量 p) 再指向(结构体变量) st_2 ,
然后,通过(结构体指针变量 p) 调用成员a与b中的值分为是2与'b'。
=======================================================================
非常好,现在,我们已经掌握了C语言中的(结构体指针变量)但是,如何去运行用它呢?
所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。
>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)
|