C语言学习:通过指针操作结构体数组

需积分: 9 1 下载量 90 浏览量 更新于2024-08-20 收藏 1.13MB PPT 举报
"这篇教程介绍了C语言中指向结构体数组的指针的使用方法,以及C语言的一些基础知识,包括计算机语言的种类、C语言的特点和简单的C程序示例。" 在C语言中,指针是一种非常重要的数据类型,它允许我们存储内存地址,并通过这个地址来访问和修改数据。当指针用于结构体时,可以更灵活地处理结构体数组的元素。结构体是由多个不同类型的数据组成的复合类型,而结构体数组则是结构体类型的集合。 在提供的描述中,展示了如何声明和使用指向结构体数组的指针。首先,定义了一个名为`student`的结构体类型,然后创建了一个包含100个`student`元素的数组`a`。接着,声明了一个指向`struct student`类型的指针`p`,并将数组`a`的首地址赋值给`p`。这样,`p`就可以用来访问和修改数组`a`中的元素。 通过指针`p`引用结构体数组元素的方式有两种:解引用操作符`*`和箭头操作符`->`。例如,如果`student`结构体包含`num`和`score`两个成员,我们可以这样设置它们的值: 1. 使用解引用操作符`*`: - `(*p).num = 1001;` 设置当前指针`p`所指的结构体的`num`字段为1001。 - `(*p).score = 85;` 设置`score`字段为85。 - `strcpy((*p).name, "wang");` 将字符串"wang"复制到`name`字段。 2. 使用箭头操作符`->`: - `p->num = 1001;` 相当于上面的`(*p).num = 1001;`。 - `p->score = 85;` 相当于`(*p).score = 85;`。 - `strcpy(p->name, "wang");` 相当于`strcpy((*p).name, "wang");`。 这两种方式都可以达到相同的效果,但箭头操作符通常被认为更加简洁明了。 此外,简介还提到了计算机语言的种类,从机器语言、汇编语言到高级语言,其中C语言是一种高级语言,它结合了高级语言的易读性和低级语言的高效性。C语言的特点包括直接访问内存、丰富的运算符和数据结构、宽松的语法限制以及高效的代码生成。通过简单的C程序示例,如输出字符串、求两数之和和找两数中的最大值,我们可以看到C语言的基本结构和功能。这些基本的程序结构包括函数的定义和调用、变量的声明和赋值,以及输入/输出操作,如`printf`和`scanf`函数。