C 知识量:16 - 74 - 317
使用指向结构的指针有诸多好处,例如:
指向结构的指针通常比结构本身更好操控。
在一些C实现中,不能将结构作为参数进行传递,但可以传递指向结构的指针。
传递指针效率更高。
表示数据的结构中可能也包含指向其他结构的指针。
声明指针的方法很简单,例如:
struct people { char name[20]; int age; }; struct people * him;
以上代码中,him被声明为指向people类型结构的指针。这个声明没有创建新的结构,但现在him可以指向任意一个people类型的结构了,例如:
struct people Jeff; him = &Jeff;
注意:结构名不是结构的地址,Jeff前需要地址运算符(&)。
使用指针访问结构的成员有两种方法:
使用->运算符
使用*运算符和.运算符
以下是一个应用示例:
#include <stdio.h> #include <string.h> int main(void) { struct people { char name[20]; int age; }; struct people * him; struct people Jeff = { "Jeff", 35 }; him = &Jeff; printf("Jeff's name is %s and age is %d.\n", him->name, (*him).age); system("pause"); return 0; }
运行结果为:
Jeff's name is Jeff and age is 35.
需要注意:使用*运算符和.运算符时,*运算符和指针变量必须包含在括号内,因为.运算符比*运算符的优先级高。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6