c语言结构体指针用法举例,C语言结构体指针

c语言结构体指针用法举例,C语言结构体指针,深入分析C语言中结构体指针的定义与引用详解

本文是对C语言中结构指针的定义和引用的详细分析和介绍,供有需要的朋友参考。

指向结构体类型变量的使用首先我们来定义一下结构:struct stu { char name[20];长号码;浮动分数[4];} ;然后定义指向结构类型变量的指针变量:struct stu *p1,* p2定义指针变量p 1和p 2,分别指向结构类型变量。引用形式为:指针变量成员;[例7-2] 对指向结构体类型变量的正确使用。输入结构类型变量的成员并输出。复制代码如下:#include stdlib.h /*使用m a l l o c()需要* /struct data/*来定义结构* /{int day,month,year} ;Struct stu /*定义结构*/{ char name[20];长num结构数据生日;/embedded *结构类型成员集*/};Main() /*定义了Main()函数*/{ struct stu * student;Definite/*结构类型指针*/student=malloc(sizeof(struct stu));将安全地址*/printf('输入名称、数字、年、月、日:/n ')赋给/pointer变量。scanf('%s ',学生名称);输入/*学生的姓名、学号、出生日期*/scanf('%ld ',student-num);scanf('%d%d%d ',学生生日.年,学生生日.月,学生生日.日);printf('/nOutputname,number,year,month,day/n ');/*打印出每个成员项的值*/printf ('s LD d//%d/%d/n ',学生名,学生号,学生生日.年,学生生日.月,学生生日.日);}在程序中,使用结构类型指针引用结构变量的成员需要通过c提供的函数malloc()给指针分配一个安全地址,sizeof()函数的返回值是计算给定数据类型占用内存的字节数。指针所指成员的形式如下:copy code code如下:student-name student-numstudent-birthday . year student-birthday . month student-birthday .结构体类型数组指针的使用定义了一个结构体类型数组,其数组名是数组的第一个地址。这在之前的课程中已经介绍得很清楚了。定义结构类型的指针可以指向数组的元素,也可以指向数组的元素,所以在使用时要加以区分。[例7-3] 在例7 - 2中定义了结构体类型,根据此类型再定义结构体数组及指向结构体类型的指针。复制代码如下:struct data{intday,month,year};Struct stu/*定义结构*/{ char name[20];长num结构数据生日;/embedded *结构类型成员集*/};struct stustudent[4],* p;将/*结构数组和指向结构类型*/的指针定义为p=student,然后指针p指向结构数组student。p是指向一维结构体数组的指针,对数组元素的引用可采用三种方法。1)地址方法学生I和p i都表示数组第I个元素的地址。数组元素每个成员的引用形式有:(学生i)-name,(学生i)-num和(p i)-name,(p i)-num等。学生I和p i的意思和学生[i]一样。2)指针法如果P指向数组的一个元素,那么P指向它的后续元素。3)指针的数组表示如果p=student,我们说指针p指向数组student,p[i]表示数组的第I个元素,与student[i]作用相同。对数组成员的引用描述为:p[i]。姓名,p[i]。num等。[例7-4]指向结构体数组的指针变量的使用。复制代码如下:structdata/*定义结构类型*/{intday,month,year};Structstu/*定义结构类型*/{ char name[20];长num结构数据生日;};main(){ inti;structstu*p,student[4]={{ '李颖',11978,5,23},{ '王萍',21979,3,14},{ '李波',31980,5,6},{ '徐焰',41980,4,21 } };/*定义一个结构数组并初始化*/p=student;/*将数组的首地址赋给指针P,指针指向一维数组Student */printf('/n1-output name,number,year,month,day/n ');for(I=0;i4;I )/*使用指针方法输出数组元素的每个成员*/printf(' s LD d/% d/% d/n ',(p I)-name,(p I)-num,(p I)-birthday.year,(p I)-birthday.month,(p }

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: