c语言之指针指向结构体数组

在c语言中,指针指向结构体数组的方法是

在定义一个结构体数组之后,定义一个结构体指针

通过数组地址增减来控制在哪个数组元素

示例代码如下

cpp 复制代码
#include<stdio.h>
int main()
{
	struct test
	{
	char name[30];
	int age;
	char sex;
	int student_number;
	} student[3];
	struct test *p;

	for(p=student;p<student+3;p++)
	{
		printf("请输入姓名 年龄 性别 学号:");
		scanf("%s %d %c %d",p->name,&(p->age),&(p->sex),&(p->student_number));
	}
	for(p=student;p<student+3;p++)
		printf("姓名:%s\t 年龄:%d\t 性别:%c\t 学号:%d\n",p->name,p->age,p->sex,p->student_number);

	return 0;
}

首先是定义一个结构体数组student[3]

用一个for循环不断输入信息

for(p=student;p<student+3;p++)

{

printf("请输入姓名 年龄 性别 学号:");

scanf("%s %d %c %d",p->name,&(p->age),&(p->sex),&(p->student_number));

}

指针p指向数组student的第一个地址,然后p的值小于student数组的第四个地址时,p的值加1.在数组指针中,指针值+1是指向下一个数组元素的地址。

for(p=student;p<student+3;p++)

printf("姓名:%s\t 年龄:%d\t 性别:%c\t 学号:%d\n",p->name,p->age,p->sex,p->student_number);

这组代码是打印出内容。

相关推荐
㱘郳几秒前
Python开发 Django和DRF框架 推荐部分B站视频
开发语言·python·django
IMPYLH2 分钟前
Lua 的 UTF-8 模块
开发语言·笔记·后端·游戏引擎·lua
Briue7Rua2 分钟前
关于使用Visual Studio编译时产生的编码问题与解决方案
c语言·ide·utf-8·学习·visual studio·gbk
brucelee1863 分钟前
芋道 Spring Boot 框架 + AWS S3 图片上传显示
java·开发语言·数据库
Reuuse5 分钟前
【网络基础概念】
开发语言·网络·php
程序员敲代码吗6 分钟前
DVR设备FTP更新故障及修复指南
服务器·开发语言·php
Never_Satisfied6 分钟前
在JavaScript / HTML中,获取指定元素的父元素
开发语言·javascript·html
zh路西法6 分钟前
【C语言简明教程提纲】(三):字符串与编译预处理
c语言·开发语言
wjs20249 分钟前
CSS 伪类详解
开发语言
自信150413057599 分钟前
数据结构之队列的实现
c语言·数据结构·算法·链表