首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 指向结构体数组的指针

题目答案

当定义一个结构体指针变量指向一个结构体数组时,该指针指向的是结构体数组的首地址,即第一个数组元素的地址。例如:

struct student

{

    int sno;

    char sname[10]; 

    int sage; 

    char depmt[20]; 

    float cscore;

};

void main()

{

    struct student s[3]; 

    struct student *ps=s;

}

指针ps指向数组s的第一个元素。也可以写成:

    struct student *ps=&s[0];

注意:

如果指针变量ps已指向某结构数组,则ps+1指向结构数组的下一个元素,而不是当前元素的下一个成员,如图所示。

image.png

(++ps)->sno的过程是先使ps加1,即如果ps指向的是s[0],则现在指向s[1],之后再得到它所指向的数组元素s[1]的成员sno的值。

(ps++)->sno则是先得到ps所指向的成员sno的值,然后使ps+1,指向下一个数组元素。

同样,ps++是使指针ps指向结构体数组的下一个元素。


网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端