zoukankan      html  css  js  c++  java
  • C语言 指向结构体数组的指针

    当结构体指针变量指向一个结构体变量数组的时候,此时指针变量的值就是结构体数组的首地址

    关于如何定义结构体数组,和将结构体指针指向结构体变量数组,不是重点。

    重点是,明白结构体指针的是怎么移动的, 我个人理解 指针==地址 用指针操作的就是地址

    demo:

     1 # include <stdio.h>
     2 # include <stdlib.h>
     3 
     4 
     5 //创建一个结构体
     6 struct Student
     7 {
     8     char cName[20];
     9     int iNumber;
    10     char cSex;
    11     int iGrade;
    12 
    13 }student[3]=
    14 {
    15     {"瑶瑶",908,'W',2017},
    16     {"yy",606,'M',2017},
    17     {"500days",500,'Y',2017},
    18 };
    19 
    20 
    21 int main ()
    22 {
    23     struct Student *pStruct;
    24     int index;
    25     pStruct = student;
    26     for(index=0; index<3; index++,pStruct++)
    27     {
    28         printf("NO%d student's information
    ",index+1);
    29         printf("Name:%s
    Number:%d
    Sex:%c
    Grade:%d
    ",pStruct->cName,pStruct->iNumber,pStruct->cSex,pStruct->iGrade);
    30     }
    31     printf("pStruct:%d
    &student[2]:%d
    ",pStruct,&student[3]);        
    32     return 0;
    33 }

    第26行,index++后面还有一句控制着指针的移动,循环完一次,指针将指向下一个地址中的成员

    大概图示是这样的:没好好写:) 所以字体..呵呵呵 凑合看把:)

     

    程序运行结果:

    NO1 student's information
    Name:瑶瑶
    Number:908
    Sex:W
    Grade:2017
    NO2 student's information
    Name:yy
    Number:606
    Sex:M
    Grade:2017
    NO3 student's information
    Name:500days
    Number:500
    Sex:Y
    Grade:2017
    pStruct:6294176
    &student[2]:6294176

    输出&student[3]的值

    输出pStruct的值

    它们相等! 所以我”想当然“ 的是对哒

  • 相关阅读:
    通信信号处理的一些基本常识
    欧拉公式
    css3圆角讲解
    css3投影讲解、投影
    css3变形讲解
    浏览器兼容问题
    css3渐变详解
    css中em与px
    복 경 에 갑 니 다 去北京
    我在北京:)
  • 原文地址:https://www.cnblogs.com/dire/p/5223006.html
Copyright © 2011-2022 走看看