当前位置: 首页 > news >正文

“结构体名”和“结构体名是个指针”的区别

经常看见下面这样的定义:

typedef struct { 

    int a; 

    double b; 

}emp_i, *pemp_i;    //typedef 了两个新的数据类型(结构体),其中一个是指针方式的名字 

int main(void) 

{     

    char i = 'y'; 

    emp_i  a1;    //emp_i 声明的a1是一个实体,声明了就已经有存储空间了 

    pemp_i  b1 = &a1;  //pemp_i 声明的b1是一个指针(但这里不用加*号,因为pemp_i已经被指定为指针),它可以指向一个struct a 的实体。 

     a1.a++;      //a1的元素访问方式  实体方式 

     b1->a++;   //b1的访问方式  指针方式 

}

也就是说,用结构体名字去定义声明的变量是一个真正的变量,他在内存中分配有自己的存储空间;而是用指针去形式定义的变量是一个指针,使用的时候给他赋予一个结构体变量的地址。

访问方式不一样:结构体变量直接访问使用实体方式,用点;结构体变量使用指针方式,如上面例子所示。

相关文章:

  • 网课查题api接口使用方法
  • 干货分享|优炫数据库支撑GIS融合的探索
  • 重写DATAGRID控件,当对行编辑后重LOAD后可定位到最后点击的那一行。
  • 基于强化学习的空域作战辅助决策(1D)
  • 【AGC】使用云调试优惠扣费、华为设备上触发崩溃、无法下载华为应用市场问题小结
  • elasticsearch设置密码
  • 大学生制作自己的查题搜题公众号 简单方便
  • 【postgresql 数据库运维文档】
  • 搜题公众号 大学生搭建查题公众号到底有多简单
  • js split , slice, splice 三者区别
  • ATF启动(四):BL31
  • vue3.0实战项目
  • Python采集猫咪数据并做数据可视化图
  • java基于springboot+Vue社区居民医疗健康网站
  • postgresql 数据库巡检
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • AHK 中 = 和 == 等比较运算符的用法
  • docker容器内的网络抓包
  • git 常用命令
  • isset在php5.6-和php7.0+的一些差异
  • Java的Interrupt与线程中断
  • js 实现textarea输入字数提示
  • js继承的实现方法
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Python连接Oracle
  • quasar-framework cnodejs社区
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 如何合理的规划jvm性能调优
  • 如何优雅地使用 Sublime Text
  • 深入 Nginx 之配置篇
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #预处理和函数的对比以及条件编译
  • ( 10 )MySQL中的外键
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (过滤器)Filter和(监听器)listener
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)程序员疫苗:代码注入
  • (转载)深入super,看Python如何解决钻石继承难题
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET面试题(二)
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • @EnableAsync和@Async开始异步任务支持
  • [ C++ ] STL---string类的模拟实现
  • [ C++ ] STL---string类的使用指南
  • [ solr入门 ] - 利用solrJ进行检索