结构体指针,可细分为指向结构体变量的指针和指向结构体数组的指针。

指向结构体变量的指针

前面我们通过“结构体变量名.成员名”的方式引用结构体变量中的成员,除了这种方法之外还可以使用指针。

前面讲过,&student1 表示结构体变量 student1 的首地址,即 student1 第一个项的地址。如果定义一个指针变量 p 指向这个地址的话,p 就可以指向结构体变量 student1 中的任意一个成员。

那么,这个指针变量定义成什么类型呢?只能定义成结构体类型,且指向什么结构体类型的结构体变量,就要定义成什么样的结构体类型。比如指向 struct STUDENT 类型的结构体变量,那么指针变量就一定要定义成 struct STUDENT* 类型。

下面将前面的程序用指针的方式修改一下:

# include

# include

struct AGE

{

int year;

int month;

int day;

};

struct STUDENT

{

char name[]; //姓名

int num; //学号

struct AGE birthday; //生日

float score; //分数

};

int main(void)

{

struct STUDENT student1; /*用struct STUDENT结构体类型定义结构体变量student1*/

struct STUDENT *p = NULL; /*定义一个指向struct STUDE

C语言指针结构体详解,结构体指针,C语言结构体指针详解相关推荐

  1. Go-结构体类型详解(声明、初始化、结构体指针、方法、序列化等)

    目录 结构体类型(struct) 声明 声明并初始化 结构体指针 方法 Generate 方法和函数的区别 匿名结构体 序列化 全部代码 截图 结构体类型(struct) 去除了C++等语言的的继承. ...

  2. Android JNI编程(六)——C语言函数指针、Unition联合体、枚举、Typedef别名、结构体、结构体指针...

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:函数指针 1.函数指针顾名思义就是定义一个指针变量指向一个函数,和一级指 ...

  3. C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?

    C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题? 问题1:结构体指针最开始怎么分配内存?用sizeof()是不能确定大小的. 问题2:给结构体变量分配之后,是否还要 ...

  4. 结构体NSPoint、NSRect、与NSSize或CG开头的详解

    结构体NSPoint.NSRect.与NSSize或CG开头的详解 1.坐标类NSPoint与CGPoint (1)NSPoint是表示UI元素的坐标的,等同于CGPoint,点击NSPoint进入文 ...

  5. Go 学习笔记(14)— 结构体定义、实例化、初始化、匿名结构体、结构体访问、结构体作为形参、结构体指针

    Go 语言中没有 "类" 的概念,也不支持 "类" 的继承等面向对象的概念.Go 语言不仅认为结构体能拥有方法,且每种自定义类型也可以拥有自己的方法. 1. 结 ...

  6. 【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )

    文章目录 一.学生管理系统 二.代码示例 一.学生管理系统 前两篇博客 [C 语言]文件操作 ( 将结构体写出到文件中并读取结构体数据 | 将结构体数组写出到文件中并读取结构体数组数据 ) [C 语言 ...

  7. c 定义结构体时提示应输入声明_C语言结构体的坑很多,这6大方法千万要记住!...

    本文福利在文末! C语言可谓是编程界的传奇语言,历经几十年,依然排名前列. 本文主要说的是C语言中的结构体,结构体是C语言中重要的一部分内容,也是C语言中常用的一种数据结构. 一.关于结构体在C语言中 ...

  8. c++ 结构体初始化_【干货】c语言基础语法——结构体

    1.关于C语言结构体的引入 学习环境搭建1_Linux C语言_嵌入式开发工程师-创客学院​www.makeru.com.cn 在实际问题中有时候我们需要几种数据类型一起来修饰某个变量. 例如一个学生 ...

  9. c++结构体定义和使用_【C语言更新】结构体的定义及使用

    文/Edward首先先思考一个问题,假设某一天你去了一家策划公司,接到了一个策划需求,比如为新上市的某款手机写一个市场推广的文案,并且在电脑上面打印出来.那么在写这个文案的时候,你肯定是会需要着重地去 ...

  10. c语言 结构体_颖儿教你学C语言结构体,全面讲解,让程序小白玩转结构体编程...

    C语言结构体详细教学开始 前面的教程中我们讲解了数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号 ...

最新文章

  1. PHP代码保护——Zend Guard
  2. 5.数据绑定和表单标签库
  3. win32汇编定时器简单Demo
  4. CVPR 2021 《Domain-robust VQA with diverse datasets and methods but no target labels》论文笔记
  5. 《Effective C#》Item 17:减少装箱(Boxing)和拆箱(Unboxing)操作
  6. 文献学习(part12)--GMNN: Graph Markov Neural Networks
  7. 猎豹浏览器截图在哪 猎豹浏览器如何截图
  8. 10分钟让你学会使用Vuex
  9. Bootstrap条纹进度条
  10. netty4 收不到服务器响应的数据_Netty模拟redis服务器
  11. 微课|Python程序设计开发宝典(5.1.2节):可调用对象
  12. python调用Java代码并执行--------jpype使用篇
  13. css 超出N行文本如何处理
  14. WebAssembly的未来:潜在新特性一览
  15. linux系统共享文件夹,Linux系统如何设置共享文件夹?新建文件夹以及指令是什么?...
  16. DevOps-2-从凤凰项目谈起
  17. 【ESD专题】案例:同样是RS485芯片,ESD的性能却天差地别?
  18. 【转】常见英语单词前缀
  19. Android对现有的apk进行修改(汉化,修改QQ尾巴)
  20. android 属性动画伸缩,Android动画开发——Animation动画效果详解

热门文章

  1. ROS踩坑之.msg文件未能转化为.h文件
  2. 极简linux版本,4MLinux 26.0发布,这是一个极简版本
  3. 【杭电数电实验】verilog入门指北
  4. OpenCms 带分页的新闻列表
  5. 铁威马远程samba服务器稳定,NAS网络存储的Samba访问
  6. PADS Router布线技巧和一些常用快捷键
  7. princomp.m
  8. 网站常见的攻击与防护
  9. 第十一届蓝桥杯——REPEAT程序
  10. 现在Easy Scheduler想贡献给Apache基金会,我们做了一份问卷看下大家的想法,也请大家积极参与,谢谢!