C语言--结构体指针

news/2024/12/12 7:06:11/

结构体指针变量
引入:
指针就是地址,指针变量就是存放地址的变量
int a;
int *p;
p=&a;
结构体也是变量
变量访问有两种方式:1.变量名 2.地址
struct Test t;
struct Test *P;
p=&t;
通过结构体指针访问结构体:用’->'来访问

#include <stdio.h>struct Test
{int idata;char cdata;
};int main()
{int a = 10;int *pa = &a;char c = 'c';char *pc = &c;struct Test t1 = {10,'c'};		//1.变量类型;2.变量名;3.变量值;4.变量地址;struct Test *ps = &t1;printf("t1的idata=%d\n",t1.idata);//变量名访问,用点运算符printf("t1的idata=%d\n",ps->idata);//结构体指针间接访问,用"->"运算符ps->cdata = 'R';//修改cdata的数据printf("t1的cdata=%c\n",t1.cdata);//变量名访问,用点运算符printf("t1的cdata=%c\n",ps->cdata);//结构体指针间接访问,用"->"运算符return 0;
}

1.用结构体指针输出

#include <stdio.h>
#include <string.h>struct Student
{int num;char name[32];char sex[32];int age;double score;char addr[32];
};int main()
{int i;struct Student arr[3] = {{2,"小王","男",22,99,"上海"},{3,"张三","男",20,77,"北京"},{4,"李四","女",18,66,"西安"}};struct Student *p;p = arr;int len = sizeof(arr)/sizeof(arr[0]);for(i = 0;i < len;i++){printf("学号:%d, 年龄:%d, 分数:%.2f, 姓名:%s, 性别:%s, 地址:%s\n",p->num,p->age,p->score,p->name,p->sex,p->addr);p++;}p = arr;for(i = 0;i < len;i++){printf("学号:%d, 年龄:%d, 分数:%.2f, 姓名:%s, 性别:%s, 地址:%s\n",p->num,p->age,p->score,p->name,p->sex,p->addr);p++;}return 0;
}

http://www.ppmy.cn/news/1015503.html

相关文章

2208. 将数组和减半的最少操作次数

2208. 将数组和减半的最少操作次数 给你一个正整数数组 nums 。每一次操作中&#xff0c;你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半。&#xff08;注意&#xff0c;在后续操作中你可以对减半过的数继续执行操作&#xff09; 请你返回将 nums 数组和 至少 减少一…

第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡

1、基于 CentOS 7 构建 LVS-DR 群集。 LVS-DR模式工作原理 首先&#xff0c;来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后&#xff0c;集群某个节点将回复该数据包&#xff0c;并将该数据包…

05 并发编程挑战,上下文切换问题,死锁问题,受限于硬件和软件的资源问题

JAVA多线程 并发编程上下文切换如何减少上下文切换减少上下文切换实战 死锁资源限制的挑战什么是资源限制资源限制引发的问题如何解决资源限制的问题在资源限制情况下进行并发编程 并发编程 有的并发程序写得不严谨&#xff0c;在并发下如果出现问题&#xff0c;定位起来会比较…

java的junit之异常测试、参数化测试、超时测试

1.对可能抛出的异常进行测试 异常本身是方法签名的一部分测试错误的输入是否导致特定的异常 summary 测试异常可以使用Test(expectedExceptio.class)对可能发生的每种类型的异常进行测试 2.参数化测试 如果待测试的输入和输出是一组数据&#xff1a; 可以把测试数据组织起…

Python数据类型相关问题

问题1:Python的基本数据类型 问题2:Python的可变数据类型和不可变数据类型 问题3:列表(list)和元组(tuple)的区别 问题4:集合(set)是怎样的一种数据类型,何时使用? 问题5:Python如何实现tuple和list的转换? 问题6:Python中基本数据结构的操作 问题7:列举字符串…

vue 路由页面跳转

从index.vue跳转到data.vue index.vue <el-table-column label"客户数" align"center" :show-overflow-tooltip"true"><template slot-scope"scope"><router-link :to"/system/enterprise-data/index/ scope.ro…

Mysql8.0变更特性

性能翻倍 账户与安全 用户的创建和授权 在MySQL之前的版本&#xff0c;创建用户和给创建的用户授权可以一条语句执行完成&#xff1a; grant all privileges on *.* to test% identified by suibowenkuangtu6;在MySQL 8中&#xff0c;创建用户和授权需要分开执行&#xff0c…

中电金信:逐数兴业 智启未来——“数据二十条”影响之解读 (下)

在逐数兴业 智启未来——“数据二十条”影响之解读&#xff08;上&#xff09;篇内容中&#xff0c;主要解读了有关于“数据二十条”发布的背景与意义、建立数据要素市场面临的挑战与应对。在今天的文章里&#xff0c;将继续解读“数据二十条”的主要内容以及对金融行业和金融科…