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

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

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

demo:

 # include <stdio.h>
# include <stdlib.h> //创建一个结构体
struct Student
{
char cName[];
int iNumber;
char cSex;
int iGrade; }student[]=
{
{"瑶瑶",,'W',},
{"yy",,'M',},
{"500days",,'Y',},
}; int main ()
{
struct Student *pStruct;
int index;
pStruct = student;
for(index=; index<; index++,pStruct++)
{
printf("NO%d student's information\n",index+);
printf("Name:%s\nNumber:%d\nSex:%c\nGrade:%d\n",pStruct->cName,pStruct->iNumber,pStruct->cSex,pStruct->iGrade);
}
printf("pStruct:%d\n&student[2]:%d\n",pStruct,&student[]);
return ;
}

第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的值

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

C语言 指向结构体数组的指针的更多相关文章

  1. c语言指向结构体数组的指针

    #include <stdio.h> #include <stdlib.h> struct dangdang { ]; ]; ]; int num; int bugnum; ] ...

  2. C语言 指向结构体变量的指针

    一个指向变量的指针表示的是占内存中起始位置 一个指向结构体的变量的指针表示的是这个结构体变量占内存中的起始位置,同样它也可以指向结构体变量数组 定义结构体变量的指针: //假设已有一个结构体名为Stu ...

  3. C/C++中指向结构体变量的指针,调用指向的那个结构体中的成员

    设p是指向结构体变量的指针,则可以通过以下的方式,调用指向的那个结构体中的成员: (1)结构体变量.成员名.如,stu.num. (2)(*p).成员名.如,(*p).num. (3)p->成员 ...

  4. C语言利用结构体数组实现学生成绩管理系统

    这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 要求: 某班有最多不超过30人(具体人数由键盘输入) ...

  5. C语言--指向多维数组的指针和指针数组

    #include <stdio.h> //void show(char *p[]); ]); int main(){ ][]={","abc","x ...

  6. c语言指向结构体的指针作为函数参数

    注意 这里包括形参和实参 struct dangdangtest { ]; int num; }; void change(int num)//值传递 新建一个变量接受传递的值 { num = ; } ...

  7. C语言:将结构体数组的成绩按照从小到大进行排序。

    #include<stdio.h> typedef struct student { char *name; int sno; int age; float score; }Student ...

  8. c语言中结构体指针

    1.指向结构体的指针变量: C 语言中->是一个总体,它是用于指向结构体,如果我们在程序中定义了一个结构体,然后声明一个指针变量指向这个结构体.那么我们要用指针取出结构体中的数据.就要用到指向运 ...

  9. 重学C语言之结构体

    概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...

随机推荐

  1. 【转】 Linux中记录终端输出到txt文本文件

    转载: http://blog.csdn.net/tengh/article/details/41823883 一,把命令运行的结果保存到文件当中:用 > 把输出转向就可以了 例子: $ ls ...

  2. [vuex] vuex requires a Promise polyfill in this browser报错问题的解决办法

    在IE下由于不支持promise而导致的问题,需要插件babel-prolyfill cnpm i bablel-prolyfill -D 接着在webpack.config.js当中进行配置 ent ...

  3. web服务之http

    HTTP协议 HTTP协议,全称HyperText Transfer Protocol即超文本传输协议,是互联网中最常用的一种网络协议.HTTP协议是互联网上的通信协议方案之一.它有很多的应用, 但最 ...

  4. HDOJ Important Sisters

    Important Sisters Time Limit: 7000/7000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  5. 【HDOJ5975】Aninteresting game(BIT原理)

    题意:给定n个区间,第i个区间的范围是[i-lowbit(i)+1,i].一共有q组询问,询问有两种: 1 x y:询问sigma lowbit(i) (x<=i<=y) 2.x:询问有几 ...

  6. BZOJ【1625】宝石手镯

    1625: [Usaco2007 Dec]宝石手镯 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1007  Solved: 684[Submit][St ...

  7. Eclipse与MyEclipse增加主题

    下载所需文件 下载地址:https://pan.baidu.com/s/1slq9lFn 如果eclipse和myeclipse里的MyEclipse 10\dropins存在features和plu ...

  8. javaScript防止拦截新窗口打开页面

    原文发布时间为:2009-05-04 -- 来源于本人的百度文章 [由搬家工具导入] 兼容IE.FF.GOOGLE。防止拦截。。。。 <html xmlns="http://www.w ...

  9. IIC知识

    任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现.为了简化硬件电路设计.简化系统结构,常用一组线路 ...

  10. 修复受损的linux引导

    想来楼主玩linux差不多近20年了,从redhat,mandrke,manjaro,汉化,听歌.看电视电影.上网.打游戏.配置打印机等,碰到的问题一一解决了,但是一直对装好linux后重新安装win ...