码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 8.3 结构体指针变量


    结构体就是变量,变量可通过变量名和地址访问

    结构体指针变量的定义:

    结构体实际上就是自己定义的变量类型,所以结构体指针与整型、字符、浮点类型如出一辙

    1. char c;
    2. char *pc = &c;
    3. struct Test t1;
    4. struct Test *ps = &t1;

    而定义一个指向结构体的指针,保存的是结构体的地址

    通过结构体指针访问结构体:

    通过指针变量间接访问结构体时用“->”运算符

    1. printf("t1的idata=%d\n",t1.idata); //.运算符
    2. printf("t1的idata=%d\n",ps->idata); //->运算符
    3. ps->cdata ='r'; //通过指针变量修改结构体变量
    4. printf("t1的idata=%c\n",t1.cdata); //.运算符
    5. printf("t1的idata=%c\n",ps->cdata); //->运算符

    应用:

    1. #include
    2. #include
    3. struct Student
    4. {
    5. int num;
    6. char name[32];
    7. char sex;
    8. int age;
    9. double score;
    10. char addr[32];
    11. };
    12. int main(){
    13. int arr[3]= {1,2,3};
    14. int i;
    15. int len;
    16. struct Student arry[3]={
    17. {2,"张三",'m',18,97.5,"北京"},
    18. {3,"李四",'m',18,98.5,"上海"},
    19. {4,"王五",'f',18,99.5,"广州"}
    20. };
    21. len = sizeof(arr)/sizeof(arr[0]);
    22. struct Student *p;
    23. p = arry;
    24. for(i=0;i
    25. printf("学号:%d,年龄:%d,分数:%lf,名字:%s,地址:%s\n",
    26. p->num,p->age,p->score,p->name,p->addr);
    27. p++;
    28. }
    29. p = arry; //再次打印时,指针归位
    30. for(i=0;i
    31. printf("学号:%d,年龄:%d,分数:%lf,名字:%s,地址:%s\n",
    32. p->num,p->age,p->score,p->name,p->addr);
    33. p++;
    34. }
    35. return 0;
    36. }

  • 相关阅读:
    Linux进程概念(上)
    【done】剑指 Offer 53 - II:0~n-1中缺失的数字
    Environment Modules工具
    07 SpringMVC 拦截器
    入门 Teams Toolkit
    鲲鹏开发者创享日2022:鲲鹏全栈创新 与开发者共建数字湖南
    低代码与大语言模型的探索实践
    深度学习笔记---学习预备知识
    Micro-OLED(硅基OLED)的工艺简介
    【SpringBoot自动装配之SPI机制&SPI案例实操学习&SPI机制核心源码学习】
  • 原文地址:https://blog.csdn.net/m0_58832279/article/details/133213629
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号