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

2023-05-16

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

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的访问方式  指针方式 

}

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“结构体名”和“结构体名是个指针”的区别 的相关文章

随机推荐

  • UUID无处不在,你就是唯一(2023.4.16)

    六种语言生成UUID 2023 4 16 引言1 UUID简介2 UUID格式和编码3 UUID各历史版本4 UUID代码具体调用实现4 1 C 生成UUID4 2 Java 生成UUID4 3 Python 生成UUID4 4 C 43
  • CMAKE命令和VS属性对照表

    下文中表来自 xff1a https blog csdn net xum2008 article details 7268761 source 61 1 xff0c 仅做记载 Visual Studio CmakeProject Refer
  • python subprocess.Popen()执行耗时过长,不返回响应解决

    记录一下踩过的坑 xff0c 希望碰到此问题的人能看到 xff0c 平时对subprocess Popen 了解不多 xff0c 就用来执行命令 xff0c 都没出现什么问题 xff0c 此次开发中 xff0c 使用subprocess P
  • LiveNVR Onvif/RTSP监控视频平台如何给摄像头视频叠加水印

    介绍 监控视频平台播放视频监控的时候 xff0c 除了满足正常视频播放外 xff0c 有时还需要方便标记或者防盗用等添加视频水印 有些视频在原始摄像头端就可以添加OSD水印 xff0c 这种方式最好 但是有些原始视频没有水印 xff0c 但
  • 使用LiveNVR实现RTSP视频监控、直播推送

    LiveNVR LiveNVR能够通过简单的网络摄像机通道配置 xff0c 将传统监控行业里面的高清网络摄像机IPCamera NVR等具有RTSP Onvif协议输出的设备接入到LiveNVR xff0c LiveNVR能够将这些设备源的
  • 四旋翼飞行器——电调篇

    1 电调的作用 xff1a 电调的作用就是将飞控板的PWM控制信号转变为电流信号 xff0c 以控制电机的转速 因为电机的电流是很大的 xff0c 通常每个电机正常工作时 xff0c 平均有3A左右的电流 xff0c 如果没有电调的存在 x
  • GPS 0183协议GGA、GLL、GSA、GSV、RMC、VTG、ZDA、DTM

    NMEA协议是为了在不同的GPS xff08 全球定位系统 xff09 导航设备中建立统一的BTCM xff08 海事无线电技术委员会 xff09 标准 xff0c 由美国国家海洋电子协会 xff08 NMEA The National M
  • Github的branch是什么

    Github的branch是什么
  • extern C的作用详解

    extern 34 C 34 的主要作用就是为了能够正确实现C 43 43 代码调用其他C语言代码 加上extern 34 C 34 后 xff0c 会指示编译器这部分代码按C语言的进行编译 xff0c 而不是C 43 43 的 由于C 4
  • Linux socket CAN编程示例

    如下所示 xff0c 代码展示了Linux下CAN的发送和接收 xff1a include lt stdio h gt include lt stdlib h gt include lt string h gt include lt uni
  • windows下面安装git

    注意在安装过程中选择override这个选项
  • QT中Map的使用

    Qt中的QMap介绍与使用 xff0c 在坛子里逛了一圈 xff0c 发现在使用QMap中 xff0c 出现过很多的问题 xff0c Map是一个很有用的数据结构 它以 键 值 的形式保存数据 在使用的时候 xff0c 通过提供字符标示 x
  • ubuntu 更新内核切换内核启动

    1 查看需要更新的内核命令 xff1a apt cache search linux 该命令将会显示所有可以获取的内核 2 安装内核 xff0c 假设你要安装的内核为2 6 39 0 xff0c 则使用下面的命令 sudo apt get
  • 多线程实现对同一个或多个文件的读写操作

    程序用途 xff1a 实现多个线程对同一文件的读写操作 程序代码 xff1a test c 该程序在Ubuntu下测试通过 include lt stdio h gt include lt pthread h gt include lt s
  • linux下设置共享目录

    Linux系统的文件或目录的共享功能是非常强大 xff0c 而且是非常灵活的 xff0c 其对权限的控制可以做到非常的细致 xff0c 当然如果你是通过命令行方式进行设置的 话 xff0c 那么对于刚接触linux系统的用户来说将是一件十分
  • shell 数组赋值

    shell编程 xff0c 给数组赋值及两个数组初始化与比较 bin sh output files 61 cat outfiles for i 61 0 i lt output files 64 43 43 i do echo 34 ar
  • vnc的两种配置方法及解决vnc连不上的情况

    1 vnc连不上的现象 xff1a Timed out waiting for a response from the computer 解决方法 xff1a sudo sbin iptables I INPUT 1 p TCP dport
  • linux制作本地镜像

    1 前提条件 xff1a 有安装linux系统的iso 2 添加yum文件 xff1a touch etc yum repos d iso repo iso name 61 CentOS releasever Media baseurl 6
  • 使用parted创建分区

    今天在网上查找分区方法 xff0c 发现都是用的fdisk xff0c 但自己使用总是出错 xff0c 后来请求大神帮忙 xff0c 发现了一个好用的工具 xff0c 这里把具体的使用过程记录下来 root 64 pc160 parted
  • “结构体名”和“结构体名是个指针”的区别

    经常看见下面这样的定义 xff1a typedef struct int a double b emp i pemp i typedef 了两个新的数据类型 xff08 结构体 xff09 xff0c 其中一个是指针方式的名字 int ma