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);

这组代码是打印出内容。

相关推荐
电子硬件笔记14 小时前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
南棱笑笑生14 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
ulias21214 小时前
C++ 的容器适配器——从stack/queue看
开发语言·c++
Amewin15 小时前
window 11 安装pyenv-win管理不同的版本的python
开发语言·python
lionliu051915 小时前
WebAssembly (Wasm)
java·开发语言·wasm
咸鱼加辣15 小时前
【java面试题】springboot的生命周期
java·开发语言·spring boot
weixin_4624462315 小时前
用 Go 快速搭建一个 Coze (扣子)API 流式回复模拟接口(Mock Server)
开发语言·golang·状态模式
小鸡吃米…15 小时前
Python编程语言面试问题二
开发语言·python·面试
谁动了我的代码?16 小时前
QT<34> 利用线程池处理耗时任务以及回调函数的使用
开发语言·qt
柒.梧.16 小时前
数据结构:二叉排序树构建与遍历的解析与代码实现
java·开发语言·数据结构