void指针

news2024/10/6 4:02:34

 void指针为无类型指针,可以指向任何类型数据。

作用

C语言中引入void指针类型在于两个方面

  1. 对函数返回的限定
  2. 对函数参数的限定

注意:void类型指针可以接受其他数据类型指针的赋值,但如果需要将void指针的值赋给其它类型的指针,则还是需要进行强制类型转换 

void *p;   //作用是存放一个地址


一个指针占几个字节的问题,取决于计算机的位数和地址总线的宽度。

一般来说,一个指针在32位的计算机上,占4个字节;

                  一个指针在64位的计算机上,占8个字节。

指针就是地址,地址就是指针

地址是内存单元的编号,用来表示内存中的位置。

地址总线是CPU和内存之间的通道,用来传输地址信息。 地址总线的宽度决定了CPU的寻址能力,也就是能够访问的内存空间大小。

假设地址总线的宽度是n位,那么每个地址就需要n个二进制位来表示,也就是n/8个字节。

因此,一个指针就需要n/8个字节来存储。

例如,在32位的计算机中,地址总线的宽度是32位,那么每个地址就需要32/8=4个字节来表示。所以,在32位的计算机中,一个指针占4个字节

同理,在64位的计算机中,地址总线的宽度是64位,那么每个地址就需要64/8=8个字节来表示。 所以,在64位的计算机中,一个指针占8个字节

#include<stdio.h> 
void main(){
	int a=10;
	int *p1=&a;              //定义整型指针p1并初始化 
	void *p2=p1;             //定义void指针p2并赋值 
	int *p3;
	p3=(int*)p2;             //强制类型转换 
	printf("*p1=%d\n",*p1);  //输出这些指针各自指向的值 
	printf("p2=%d\n",p2);
	printf("*p3=%d\n",*p3);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/963673.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式开发-SPI通信介绍

SPI&#xff08;Serial Peripheral Interface&#xff09;是一种串行外设接口规范&#xff0c;它是由摩托罗拉公司制定的一种通讯协议。它广泛应用于微控制器、存储器和其他外设之间的通信。 SPI是一种同步串行通信协议&#xff0c;它支持四线通信&#xff1a; SCK&#xff0…

ARM编程模型-内存空间和数据

ARM属于RISC体系&#xff0c;许多指令单周期指令&#xff0c;是32位读取/存储架构&#xff0c;对内存访问是32位&#xff0c;Load and store的架构&#xff0c;只有寄存器对内存&#xff0c;不能内存对内存存储&#xff0c;CPU通过寄存器对内存进行读写操作。 ARM的寻址空间是线…

会计--出纳实操实务小白入门

文章目录 P1、出纳基础一、出纳与会计区别二、出纳的具体工作三、出纳的工作流程&#xff08;日、月、年工作安排&#xff09; P2、出纳技能1&#xff1a;大小写金额以及日期书写规范一、数字书写要求二、小写金额“封头”与“封尾”三、大写金额“封头”与“封尾”四、日期大写…

垃圾回收 -标记清除算法

就如他的字面意思一样&#xff0c;由标记阶段和清除阶段构成。标记阶段是把所有的活动对象都做上标记的阶段。清除阶段是把那些没有标记的对象&#xff0c;也就是非活动对象回收的阶段。通过这两个阶段&#xff0c;就可以令不能利用的内存空间重新得到利用。 1、 标记阶段 ma…

bazel远程缓存(Remote Cache)

原理 您可以将服务器设置为构建输出&#xff08;即这些操作输出&#xff09;的远程缓存。这些输出由输出文件名列表及其内容的哈希值组成。借助远程缓存&#xff0c;您可以重复使用其他用户的 build 中的构建输出&#xff0c;而不是在本地构建每个新输出。 增量构建极大的提升…

音频——I2S TDM 模式(六)

I2S 基本概念飞利浦(I2S)标准模式左(MSB)对齐标准模式右(LSB)对齐标准模式DSP 模式TDM 模式 文章目录 TDM formatTDM format ATDM format BTDM format C总结 TDM format TDM 分为两种常用操作模式&#xff1a;TDM A mode 和 TDM B mode, 统称为TDM mode 基于 TDM mode&#x…

Docker 容器逃逸漏洞 (CVE-2020-15257)复现

漏洞概述 containerd是行业标准的容器运行时&#xff0c;可作为Linux和Windows的守护程序使用。在版本1.3.9和1.4.3之前的容器中&#xff0c;容器填充的API不正确地暴露给主机网络容器。填充程序的API套接字的访问控制验证了连接过程的有效UID为0&#xff0c;但没有以其他方式…

7.2 项目2 学生通讯录管理:文本文件增删改查(C 版本)(自顶向下设计+断点调试) (A)

C自学精简教程 目录(必读) 该作业是 作业 学生通讯录管理&#xff1a;文本文件增删改查&#xff08;C版本&#xff09; 的C 语言版本。 具体的作业题目描述&#xff0c;要求&#xff0c;可以参考 学生通讯录管理&#xff1a;文本文件增删改查&#xff08;C版本&#xff09;。…

性能测试有哪些常见的测试指标?

一、什么是性能测试 先看下百度百科对它的定义 <font size"3">性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。</font> 我们可以认为性能测试是&#xff1a;通过在测试环境下对系统或构件的性能进…

【数据结构】栈---C语言版(详解!!!)

文章目录 &#x1f438;一、栈的概念及结构&#x1f344;1、栈的概念定义&#x1f344;2、动图演示&#x1f332;入栈&#x1f332;出栈&#x1f332;整体过程 &#x1f438;二、栈的实现&#x1f438;三、数组结构栈详解&#x1f34e;创建栈的结构⭕接口1&#xff1a;定义结构…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉师大图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉师大图书馆

配置keil生成asm汇编文件

简介&#xff1a;ASM是汇编语言源程序的扩展名&#xff1b;程序在编译的过程中&#xff0c;会将源代码编译会汇编代码&#xff0c;一步步生成可执行文件&#xff1b; 1&#xff1a;keil中options的配置 这个语法应该是根据工程工程哪里的配置名称来的&#xff0c;也可以使用固…

历史库存储成本节约至少 50% ,OceanBase数据压缩核心技术解读

“数据是二十一世纪的石油”&#xff0c;这个观点正在逐渐成为现实&#xff0c;现在我们有各种各样的 IT 系统不断地生产着数据&#xff0c;这些数据累积起来为我们的生产生活带来了很多便利。但在挖掘这些数据价值的同时&#xff0c;大量数据的存储与计算也带来了巨大的成本&a…

TCP和UDP通信

1.通信过程 UDP 服务器sever绑定IP地址&#xff0c;关闭套接字 TCP socket套接字&#xff08;网络通信&#xff09;

站在大数据行业山顶看风景

大家好&#xff0c;我是你们的朋友王知无。 从2022年开始应很多小伙伴的邀请和咨询&#xff0c;我以个人的名义开了自己的《面向国内Top企业的大数据训练营》。最初这个过程我的内心非常忐忑&#xff0c;从备课、直播、答疑、1对1指导&#xff0c;再到同学们找工作的过程中Offe…

制造费用分摊可参考本量利分析模型!(ODOO16/15演示)

本量利分析法&#xff08;CVP&#xff09;是管理会计的一项基本管理工具&#xff0c;能比较准确地揭示成本、业务量和利润之间的数量关系​。简单理解就是把产品&#xff08;或业务&#xff09;成本分为变动成本和固定成本&#xff0c;例如&#xff1a;生产一件衣服&#xff0c…

Langchain使用介绍之outparser 和memory

上一篇博客中对Langchain中prompt进行了详细的介绍&#xff0c;此篇博客将介绍Langchain中的outparser和memory。当调用大模型生成内容时&#xff0c;返回的内容默认是string类型&#xff0c;这对于我们获取response中的某些内容信息可能会带来障碍&#xff0c;例如返回的内容本…

YOLOv8目标检测实战:TensorRT加速部署(视频教程)

课程链接&#xff1a;https://edu.csdn.net/course/detail/38956 PyTorch版的YOLOv8是先进的高性能实时目标检测方法。 TensorRT是针对英伟达GPU的加速工具。 本课程讲述如何使用TensorRT对YOLOv8目标检测进行加速和部署。 •采用改进后的tensorrtx/yolov8的代码&#xff0c;…

阻塞/非阻塞、同步/异步(网络IO)

1.阻塞/非阻塞、同步/异步(网络IO) 【思考】典型的一次 IO 的两个阶段是什么&#xff1f; 数据就绪 和 数据读写 数据就绪 &#xff1a;根据系统 IO 操作的就绪状态 阻塞 非阻塞 数据读写 &#xff1a;根据应用程序和内核的交互方式 同步 异步 陈硕&#xff1a;在处理 IO …

3D点云处理:获取最高层范围内的点(附源码)

文章目录 0. 测试效果1. 基本内容2. 代码实现文章目录:3D视觉个人学习目录微信: dhlddxB站: Non-Stop_目标:仅获取最高层范围内的点云用于后续处理0. 测试效果 红色为提取的最高层范围内的点云 1. 基本内容 要获取点云中特定高度范围内的点云,可以使用高度条件过滤的原理。…