网站首页 > 基础教程 正文
各位朋友大家好,欢迎收看c语言指针专题的第十一讲。这一讲来学习结构体指针。结构体指针也比较简单,它指的是指向结构体变量的指针,也就是可以定义一个指针来指向结构体的数据类型。通过结构体指针可以快速访问结构体的成员。
·接下来看一个示例,在这里定义一个student类型的结构题,给它起个名字就叫student。结构体内部定义一个name来存放学生的名字,这个内幕应该是一个字符类型的书读。
·然后再来定义一个inter型的变量叫age,用来存放学生的年龄。
·再来定义一个float类型的,点亮scot来存放学生的成绩。
·在主函数当中定义一个student类型的结构题,就叫它stu。结构体给它复出示值,内是一个字符就叫它张三。age是一个ins类型的,给它复一个二十。成绩是一个float类型的,给它复一个小数。这样子就有了一个结构体类型的变量叫stu。
·接下来来定义一个结构体类型的指针,称它为信号p。以前定义这个指针的时候都是先声明指针,然后再对指针进行复直。在这里还是要稍微注意一下,如果在中间的时候可能有一些其他的代码,比如定义了一些其他的变量,后期再对指针进行复直的时候有可能会出现一种错误,就是在这里给它复直,在这一步实际上是一个没有指向任何地址的指针,暂时它称为也指针。
所以尽量在定义指针的时候就直接为指针竖直,或者是先为指针负一个no尺,负一个空指,这样会避免这种野指人的存在,所以这种方式是一种不好的习惯。定义完了之后就要直接为它复制,养成一个良好的编程习惯。
·接下来就来输出一下prof用指针来访问结构体内部的数据。姓名是一个字符方案类型的,实际上用百分号s给它输出。用指针如何来访问结构体内部的数据?这里需要使用一个箭头运算符,它可以取到结构体内部的数据。这里有一个报错,这里应该是大写的,大小写是需要注意的,这样子错误就取消了。
·姓名,然后再来访问它的年龄,年龄是一个ins类型,用百分号d,p是指针,然后来获取到它的age数据。同样再来获取它的成绩,成绩是一个float类型,百分之二f可以限定它的小数点位数是两位点。点二f。
·再来通过指针和箭头运算符来读取到结构体内部的score成绩。
·来本地测试一下,这个应该是稍微的卡住了,正在生成,稍微有一点慢。
·看到返回的结果当中,读取到了结构体内部的姓名、年龄以及成绩。
以上就是这一小节关于结构体指针的相关内容。要知道指针可以指向任何的数据,因为不管是什么类型的数据都要存在内存地址当中,只要存在内存地址当中的数据都可以通过指针进行访问。通过结构体指针访问结构体乘务员需要使用的是箭头运算符,一个减号,一个右箭头。
这一小节就讲解到这里,感谢收看,下期再见。
- 上一篇: Go语言-变量
- 下一篇: FileReader
猜你喜欢
- 2025-03-12 Go语言-变量
- 2025-03-12 C语言50个函数
- 2025-03-12 PyTorch架构优化库torchao正式发布,可大幅提升AI模型效率
- 2025-03-12 C++学习笔记——调用函数
- 2025-03-12 python散装笔记——148:不可变类型int float str tuple和frozenset
- 2025-03-12 计算机是如何表示浮点数的
- 2025-03-12 Python 学习必修课:轻松掌握输入输出与数据类型转换
- 2025-03-12 4000字详细说明,推荐20个好用到爆的Pandas函数方法
- 2025-03-12 NCRE全国计算机等级考试二级Python-100填空题【带解析】
- 2025-03-12 MySQL中的存储过程和函数
- 03-12Java程序员Python学习指南(中篇)
- 03-12从IO到NIO:Java数据传输的进阶之路
- 03-12智能库存管理系统:让仓库管理变得简单高效
- 03-12java IO知识体系
- 03-12还不理解 Error 和 Exception 吗,看这篇就够了
- 03-12在Java里如何读取文件
- 03-12FileReader
- 03-12C语言指针专题第11讲:结构体指针
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)