void类型及其类型指针

2023-05-16

指针有两个属性:指向变量/对象的地址和长度 
但是指针只存储地址,长度则取决于指针的类型 
编译器根据指针的类型从指针指向的地址向后寻址 
指针类型不同则寻址范围也不同,比如: 
int*从指定地址向后寻找4字节作为变量的存储单元 
double*从指定地址向后寻找8字节作为变量的存储单元 

1.void指针是一种特别的指针 
   void *vp 
   //说它特别是因为它没有类型 
   //或者说这个类型不能判断出指向对象的长度 

2.任何指针都可以赋值给void指针 
   type *p; 
   vp=p; 
   //不需转换 
   //只获得变量/对象地址而不获得大小 

3.void指针赋值给其他类型的指针时都要进行转换 
   type *p=(type*)vp; 
   //转换类型也就是获得指向变量/对象大小 
转:http://icoding.spaces.live.com/blog/cns!209684E38D520BA6!130.entry 

4.void指针不能复引用 
   *vp//错误 
   因为void指针只知道,指向变量/对象的起始地址 
   而不知道指向变量/对象的大小(占几个字节)所以无法正确引用 

5.void指针不能参与指针运算,除非进行转换 
   (type*)vp++; 
   //vp==vp+sizeof(type)
 

 

void * 以定义一个指针变量,但不说明它指向哪一种类型数据.
1. 传参:通用类型

可以作为函数模板,链表等参数的通用参数。在使用时,只需要强制类型转换就可以。

2.强制类型转换

有时候由于重载等的干扰,导致需要转换成void *,来进行取地址。

例如,(void *)obj.member,就可以取到member的地址;直接&(obj.member)取到的实际上是obj的开始地址。

3.指向0的地址

(void *)0,指向全是0的地址,相当于NULL。
非void类型显式转换为void类型表达式,用于避免一些代码静态检查工具的警告。

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

void类型及其类型指针 的相关文章

  • 特征匹配中OpenCV Dmatch类的用法解析以及非常详细的ORB特征提取与匹配解析

    首先说明一点 xff0c 在SLAM中进行特征提取和匹配时 xff0c 需要注意使用的OpenCV版本 xff0c 在使用OpenCV2 x版本时 xff0c 可以创建特征对象如下所示 xff08 省略了参数表 xff09 xff1a OR
  • 单目视觉里程计的尺度问题的疑问?

    SLAM是个坑 经过一段时间对SLAM的了解 xff0c 原来是我理解有错误 xff0c 得到的尺度已经是统一的 xff0c 只是不知道它的真实尺度是多少 贴一个不错的视觉里程计简介的链接 xff1a https blog csdn net
  • 使用ORB_SLAM2的方式进行特征检测和提取

    比较opencv默认的方式和ORB SLAM2中对opencv进行重写的方式 xff0c 两个方法对图像特征提取结果的对比 为方便比较 xff0c 写在同一个文件中 主函数如下 xff1a include lt iostream gt in
  • 什么是归一化的平面坐标

    所谓的归一化的成像平面 xff0c 就是将三维空间点的坐标都除以Z 所有空间点坐标都转到了相机前单位距离处 xff0c 这个平面就叫归一化的平面 xff0c 之后再乘以焦距 f f f xff0c 让归一化平面回到成像平面 以一张别的博主做
  • 无人机编程实战第1讲——无人机简介

    目录 前言 一 飞控是什么 xff1f 二 扫盲行动 xff01 xff01 xff01 1 微控制器 2 传感器 3 处理 xff1f 4 无人机飞行姿态 总结 前言 随着开源无人机飞行控制器的不断发展 xff0c 越来越多优秀的代码与算
  • 阿里云Serverless kubernetes服务购买体验

    阿里云Serverless kubernetes服务购买体验 Serverless kubernetes是什么优点缺点体验步骤价格ECI的价格 xff1a ECS的价格 阿里云Serverless Kubernetes支持列表总结 Serv
  • python修改xml文件内容,不废话,拿来即用

    XML 被设计用来传输和存储数据 HTML 被设计用来显示数据 XML 指可扩展标记语言 xff08 eXtensible Markup Language xff09 可扩展标记语言 xff08 英语 xff1a Extensible Ma
  • mysql如何删除数据表,被关联的数据表如何删除呢

    删除数据表的时候 xff0c 表的定义和表中所有的数据均会被删除 因此 xff0c 在进行删除操作前 xff0c 最好对表中的数据做一个备份 xff0c 以免造成无法挽回的后果 mysql删除数据表分为两种情况 xff1b mysql删除没
  • mysql8.0新特性-自增变量的持久化

    在mysql8 0之前 xff0c 自增主键AUTO INCREMENT的值如果大于max primay key 43 1 xff0c 在mysql重启后 xff0c 会重置AUTO INCREMENT 61 max primay key
  • 双系统重装Ubuntu20.04及系统基本配置

    文章目录 前言Ubuntu20 04换源安装chrome浏览器安装OneNote安装Wechat QQ Dingtalk参考 前言 笔者从2019年9月份去长沙智能驾驶研究院开始接触ubuntu18 04 在2020年4月份做本科毕业设计的
  • 视觉 SLAM 十四讲 —— 第十三讲 建图

    视觉 SLAM 十四讲 第十三讲 建图 在前端和后端中 xff0c 我们重点关注同时估计相机运动轨迹与特征点空间位置的问题 然而 xff0c 在实际使用 SLAM 时 xff0c 除了对相机本体进行定位之外 xff0c 还存在许多其他的需求
  • mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍

    mysql表中数据表的各种操作 xff0c 创建表 添加各类约束 查看表结构 修改和删除表 这次带你捋清楚 xff0c 从头再走一遍 实验目的 创建 修改和删除表 xff0c 掌握数据表的基本操作 实验结果 创建数据库company xff
  • nginx自动摘除和恢复后端服务,进行自动检测

    主动地健康检查 xff0c nginx定时主动地去ping后端的服务列表 xff0c 当发现某服务出现异常时 xff0c 把该服务从健康列表中移除 xff0c 当发现某服务恢复时 xff0c 又能够将该服务加回健康列表中 nginx自带的u
  • nginx中配置root和alias的区别

    在nginx中 xff0c root和alias都可以代理静态资源 xff0c 那么他们两个有什么区别呢 xff1f 在什么情况下使用什么呢 初识 xff1a root和alias都可以在定义在location模块中 xff0c 都是用来请
  • 史上最全的mysql数据类型汇总-(上)

    mysql支持多种数据类型 xff0c 主要有数值类型 日期 时间类型以及字符串类型 整数类型 数值型数据类型主要用来存储数字 xff0c mysql提供了多种数值数据类型 xff0c 不同的数据类型提供不同的取值范围 xff0c 可以存储
  • 史上最全的mysql数据类型汇总(下)

    接着上文继续来梳理 xff0c 上文我们写到了日期与时间类型中的time类型 xff0c 然后我们接着来写日期与时间类型中的date类型 date类型 date类型用在仅需要日期值时 xff0c 没有时间部分 xff0c 在存储时需要3字节
  • mysql中的字段如何选择合适的数据类型呢?

    前面两篇我们介绍了很多种数据类型 xff0c 那么有没有看花眼呢 xff0c 我们在mysql中创建数据表的时候 xff0c 到底应该选择哪一种数据类型呢 xff1f 这次我们就来简单的梳理一下子把 准则 我们不论要如何创建数据表 xff0
  • mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏

    运算符连接表达式中的各个操作数 xff0c 他的作用是用来指明对数据表中的操作数所进行的运算 运用运算法有什么好处呢 xff1f 运用运算符可以更加灵活的使用表中的数据 xff0c 我们可以通过使用运算符来解决我们的很多问题 xff0c 大
  • mysql函数汇总之数学函数

    什么是mysql函数 xff1f 61 61 61 61 61 61 61 61 61 61 61 61 61 61 函数表示对输入参数值返回一个具有特定关系的值 xff0c mysql提供了大量丰富的函数 xff0c 在进行数据库管理以及
  • mysql函数汇总之字符串函数

    字符串函数主要用来处理数据库中的字符串数据 mysql中的字符串函数有计算字符串长度函数 字符串合并函数 字符串替换函数 字符串比较函数 查找指定字符串位置函数等 计算字符串字符数的函数 CHAR LENGTH str 函数计算字符串str

随机推荐

  • mysql函数汇总之日期和时间函数

    日期和时间函数主要用来处理日期和时间值 xff0c 一般的日期函数除了使用date类型的参数外 xff0c 也可以使用datetime或者timestamp类型的参数 xff0c 但会忽略这些值的时间部分 获取当前日期的函数 curdate
  • [ Ubuntu 使用技巧 ] 在当前工作目录打开 Terminal

    1 General Purposes Why I wrote this 在 Ubuntu 系统开发最舒服的一点就是可以开心地使用 Terminal 这是个好东西 xff0c 尤其当你熟悉大部分的常用命令之后 xff0c 对日常的代码工作还有
  • mysql函数汇总之条件判断函数

    条件判断函数也被称为控制流程函数 xff0c 根据满足的不同条件 xff0c 执行响应的流程 mysql中进行条件判断的函数有if ifunll和case等 IF expr v1 v2 函数 IF expr v1 v2 xff1a 如果表达
  • mysql函数汇总之系统信息函数

    mysql的系统信息有数据库的版本号 当前用户名和连接数 系统字符集 最后一个自动生成的ID值等 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • mysql数据库中的数据如何加密呢?mysql8.0自带新特性

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • mysql还有哪些自带的函数呢?别到处找了,看这个就够了。

    格式化函数FPRMAT x n format x n 将数字x进行格式化 xff0c 并以四舍五入的方式保留小数点后n位 xff0c 结果以字符串的形式返回 如果n为0 xff0c 则返回结果函数不含小数部分 mysql gt select
  • mysql中还有窗口函数?这是什么东西?

    什么是窗口函数 xff1f 在mysql8 0的版本中 xff0c 新增了一个窗口函数 xff0c 用他可以实现很多新的查询方式 窗口函数类似于sun count 那样的集合函数 xff0c 但它并不会将多行查询结果合并为一行 xff0c
  • 记一次mysql查询慢的优化历程

    有一个项目 xff0c 代称cc xff0c 用了我们公司的产品 xff0c 单表数据量在200万左右 在做业务操作的时候 xff0c 点击一下按钮 xff0c 需要等待2 3分钟 及其难以忍受 xff0c 特此让我们修改 PS xff1a
  • configure: error: No curses library functions found

    centos上编译程序报错如下 xff1a configure error No curses library functions found 这个错误是因为缺少 curses 库导致的 在CentOS 7中 xff0c 可以通过以下命令安
  • STM32使用内部RC振荡器作为系统时钟开发项目--内晶振启动模板工程

    STM32使用内部RC振荡器时 xff0c OSC32 IN xff0c OSC32 OUT接法 xff1a 1 xff09 对于100脚或144脚的产品 xff0c OSC IN应接地 xff0c OSC OUT应悬空 2 xff09 对
  • 项目笔记(6):阿里云的Iot Studio和web可视化

    项目笔记 xff08 4 xff09 阿里云物联网的自定义主题和物联网模型
  • k-近邻算法实现手写数字识别系统

    k 近邻算法实现手写数字识别系统 一 实验介绍 1 1 实验内容 本实验将会从电影题材分类的例子入手 xff0c 详细讲述k 近邻算法的原理 在这之后 xff0c 我们将会使用该算法实现手写数字识别系统 1 2 课程来源 本课程源自 图灵教
  • sqlite 句柄-sqlite 基础教程(3)

    要操纵一个数据库你就得有一个这个数据库的句柄 又碰到这个难以理解的词了 xff0c 不过确实还没得一个更好的词来替代它 其实你跟本不需要去在乎这个词叫什么 xff0c 你只要搞清楚他是一个什么玩意儿 就如同鞋子为什么叫鞋子 xff0c 仔细
  • ROS机器人操作系统的安装、配置与初级教程 1

    ROS 安装 环境配置与测试 此课程为ROS配置与使用介绍 xff0c 如果为已经并安装配置好的环境 xff0c 本课程可作为ROS基础知识进行学习和掌握 xff0c 不用重新进行配置 实验楼已经为你配置好在线环境 ROS中文维基 ROS中
  • 【ESP32Cam项目1】:ESP32Cam人脸检测(ArduinoESP32底层、Python版opencv)

    人脸检测项目效果图 xff1a 人脸检测效果视频 xff1a 暮年的主页 抖音 douyin com 人脸检测项目目标 xff1a 大家好 xff01 近期拿到了便宜的ESP32Cam开发板 xff0c 摄像头让我想起来人脸识别 xff0c
  • arduino配置ESP8266开发环境不成功的解决方案

    在这里我向大家分享一下干货 好多人用arduino配置esp8266的开发环境不成功 xff0c 速度慢 xff0c 卡在一个地方就停止不动了 xff0c 安装进度条几十分钟不动一下等等问题 xff0c 这里有详细的解决方案 首先 xff0
  • ESP8266与网络调试助手的UDP双向传输

    最近开始毕设 xff0c 其中的一部分是esp8266与网络监控助手的双向传输 xff0c 无加密 我的这篇文章是小白写给小白的专属 xff0c 大神就不要看了 首先 xff0c 买来esp8266模块 xff0c 看AT指令 xff0c
  • JQuery获取指定属性的标签

    通过遍历标签的形式 xff0c 获取指定的标签进行相关操作 span class token function span span class token punctuation span span class token string 3
  • Ucosii消息邮箱使用

    设置任务优先级 define LED TASK Prio 6 define LED1 TASK Prio 5 用到的UCOSII函数 消息邮箱创建函数 xff1a OS EVENT OSMboxCreate void msg 请求消息邮箱函
  • void类型及其类型指针

    指针有两个属性 指向变量 对象的地址和长度 但是指针只存储地址 长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同 比如 int 从指定地址向后寻找4字节作为变量的存储单元 double 从指