指向结构的指针 struct结构名称 *结构指针变量名
//指向结构的指针 struct结构名称 *结构指针变量名
//(*结构指针变量名).成员变量名
//结构指针变量->成员变量名
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4
5
6 struct Martial //门派
7 {
8 int id; //门派 id
9 char name[50]; //门派m名称
10 int count; //门派人数
11 char type[50]; //门派的类型 正派 中立 邪派
12
13
14 };
15
16 struct Player
17 {
18 int id;
19 char name[50]; //玩家名称
20 char pass[50]; //玩家的登录密码
21 char sex[10]; //玩家性别 男 M 女 X
22
23 struct Martial martial; //玩家的门派
24
25
26 };
27
28 int main()
29 {
30
31 struct Player player = {1,"UZI","123456","M",{1,"RNG",500,"ADC"}};
32
33
34 struct Player player2 = {2,"Theshy","123456","M",{2,"IG",500,"TOP"}};
35 //struct结构名称 *结构指针变量名
36 struct Player *ptr_player2 = &player2;
37
38
39
40 struct Player player3 = {3,"Clearlove7","123456","M",{3,"EDG",500,"Jungle"}};
41 struct Player *ptr_player3= &player3;
42
43
44
45 struct Player player4 = {4,"Faker","123456","M",{4,"STK",500,"Mid"}};
46
47 struct Player *ptr_player4= &player4;
48
49
50 printf("%d\t %s\t\t %s\t %s\t %d\t %s\t %d\t %s\n",player.id,player.name,player.pass,player.sex,player.martial.id,player.martial.name,player.martial.count,player.martial.type);
51
52 printf("%d\t %s\t\t %s\t %s\t %d\t %s\t %d\t %s\n",player2.id,player2.name,player2.pass,player2.sex,player2.martial.id,player2.martial.name,player2.martial.count,player2.martial.type);
53 //使用指针来访问
54
55 //(*结构指针变量名).成员变量名
56
57 printf("%d\t %s\t %s\t %s\t %d\t %s\t %d\t %s\n",(*ptr_player3).id,(*ptr_player3).name,(*ptr_player3).pass,(*ptr_player3).sex,(*ptr_player3).martial.id,(*ptr_player3).martial.name,(*ptr_player3).martial.count,(*ptr_player3).martial.type);
58 //结构指针变量->成员变量名
59 printf("%d\t %s\t\t %s\t %s\t %d\t %s\t %d\t %s\n",ptr_player4->id,ptr_player4->name,ptr_player4->pass,ptr_player4->sex,ptr_player4->martial.id,ptr_player4->martial.name,ptr_player4->martial.count,ptr_player4->martial.type);
60
61
62
63 }

指向结构的指针 struct结构名称 *结构指针变量名的更多相关文章
- C和C指针小记(十五)-结构和联合
1.结构 1.1 结构声明 在声明结构时,必须列出它包含的所有成员.这个列表包括每个成员的类型和名称. struct tag {member-list} variable-list; 例如 //A s ...
- Go语言基础之8--面向对象编程1之结构体(struct)
一.结构体详解 1.1 声明和定义 1.Go中面向对象是通过struct来实现的, struct是用户自定义的类型 2.Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数 ...
- C语言笔记 08_函数指针&回调函数&字符串&结构体&位域
函数指针 函数指针是指向函数的指针变量. 通常我们说的指针变量是指向一个整型.字符型或数组等变量,而函数指针是指向函数. 函数指针可以像一般函数一样,用于调用函数.传递参数. 函数指针变量的声明: / ...
- C语言结构体(struct)使用方法
基本定义:结构体,通俗讲就像是打包封装,把一些变量有共同特征(比如同属于某一类事物的属性)的变量封装在内部,通过一定方法访问修改内部变量. 结构体定义: 第一种:只有结构体定义 struct stuf ...
- C语言结构体(struct)常见使用方法
基本定义:结构体,通俗讲就像是打包封装,把一些变量有共同特征(比如同属于某一类事物的属性)的变量封装在内部,通过一定方法访问修改内部变量. 结构体定义: 第一种:只有结构体定义 struct stuf ...
- 结构体类型struct
教学视频 定义: struct student{CString name; int num; TCHAR sex; int age; }; //注意有个分号 student zansan = {_ ...
- C和C指针小记(十七)-使用结构和指针-链表
1.链表 链表(linked list)即使是一些包含数据的独立数据结构的(Node)集合. 链表中的每个节点通过链或指针链接在一起. 程序通过指针访问链表中的节点. 节点通常是动态分配的,但也有由节 ...
- 深入理解指针—>结构体里的成员数组和指针
单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如 ...
- C语言结构体及typedef关键字定义结构体别名和函数指针的应用
结构体(struct)的初始化 struct autonlist { char *symbol; struct nlist nl[2]; struct autonlist *left, *right; ...
随机推荐
- GCP消息队列Pubsub详解,简单好用还不用自己运维
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 GCP的Pubsub是一种异步消息传递服务,可将生产事件的服务与处理事件的服务隔离开.消息队列的作用就不多作介绍 ...
- Elasticsearch查询文档总数
前言 在使用ES搜索的时候,或多或少都会面临查询数据总量的情况,下面介绍三种查询数据总量的方式. 其中,方案二解决了当结果数据总量超过1w时,由于ES默认设置(max_result_window:10 ...
- 14、CentOS7安装过程中,磁盘大于2T的报错处理
问题描述 服务器磁盘单盘空间大于2TB,在安装CentOS7时出现下图报错: Boot failure.Reboot and Select proper Boot device... 问题原因: 安装 ...
- 13、linux中用户和用户组
linux是多用户多进程的系统: 每个文件和进程都需要应对一个用户和用户组: linux系统通过uid和gid来识别用户和组的: 一个用户必须要有唯一的uid和一个主组来识别身份,不同的用户可以使用同 ...
- POJ 3126 Prime Path 简单广搜(BFS)
题意:一个四位数的质数,每次只能变换一个数字,而且变换后的数也要为质数.给出两个四位数的质数,输出第一个数变换为第二个数的最少步骤. 利用广搜就能很快解决问题了.还有一个要注意的地方,千位要大于0.例 ...
- Binding(五):多路绑定
Binding不止能绑定一个源,它还能绑定多个源,这就是我们这节要讲的多路绑定:MultiBinding. 使用多路绑定跟一般的绑定还是有区别的,首先它并不能很好的在标记扩展中使用,另外,使用多路绑定 ...
- Mybatis逆向工程生成类文件
首先,我们需要建好相关文件夹目录: 然后,编写执行脚本 generator.xml : 1 <?xml version="1.0" encoding="UTF-8& ...
- 第12次抽考(GUI)
1. package week4; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextFiel ...
- ROS2学习之旅(12)——创建工作空间
workspace(工作空间)是包含ROS2 packages(包)的文件夹.在使用ROS 2之前,有必要在终端中source一下ROS 2的安装工作区,这样就可以在该终端中使用ROS 2的软件包. ...
- Java003-String字符串
1.这两种定义有什么区别 /*** * 面试题:这两种定义方式有什么区别? * 如何证明? * @param args */ public static void main(String[] args ...