void指针

2023-05-16

意义
  1. 对象的多态性

有一个对象是picture_t,他的某一个成员函数的作用是读入一帧图像并保存成固定的格式
但是,图像种类有很多种,YUV420,YUV422等等,或者压缩方式不同(JPEG,PNG等等)
对于不同的种类(压缩方式不同的图像)读入时,操作的函数是不同的,用函数指针就使对象具有了多态性

  1. 回调

回头补充,还没弄透

3.函数名过于傻逼

比如,你的程序要适应不同系统的不同字节等等
那么你的函数名必然冗长又傻逼
找一个简单的函数名代替,然后预处理时再指定简单函数名指向谁

注意

指向void的指针是不能解调用的。

编译器知道在以4字节为一个字长的机器上,一个指向int类型的指针一次将访问4个字节的存储单元。

指向void的指针只是简单地包含一个未知数据类型的首地址,这个指针将一次访问的确切存储单元字节数对编译器而言是未知的。

编译器必须知道数据的类型才能确定解引用一个特定的指针应该访问的字节数

解引用

*a就是对于地址a解引用

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

void指针 的相关文章

  • void 与 void *

    void xff1a 无类型 对函数返回的限定 当函数不需要返回值值时 xff0c 必须使用void限定 xff0c 这就是我们所说的第一种情况 例如 xff1a void func xff08 int a char b xff09 对函数
  • 从‘void*’到‘int’的转换损失精度

    在CentOS6 2 64位下编译一下代码 xff0c 不通过 xff0c 提示 11 2 cpp In function int main int char 11 2 cpp 28 错误 xff1a 从 void 到 int 的转换损失精
  • C++ 指向 Void 的指针

    C 43 43 指向 Void 的指针 在 C 43 43 中 xff0c 不能将一种数据类型的变量地址赋值给另一种数据类型的指针 指针是int类型 int ptr 变量为双精度类型 double d 61 9 0 错误 无法将 doubl
  • 指向常数的“万能”指针:const void*在qsort的应用

    qsort函数 函数的原型 xff1a void qsort void base size t num int comparator const void const void 参数解释 xff1a 很简单理解 xff0c 第一个参数就是待
  • 关于void指针的地址问题

    如图 void指针指向其他类型的数据时对其地址加1 它可指向几乎任何数据 xff0c 且指针加1时相当于字符指针加1 xff0c 利用这一特性可将void指针作为形参类型 xff0c 可传入任意数据且对形参操作时可类比字符指针 xff0c
  • C 语言中 void* 详解及应用

    void 在英文中作为名词的解释为 空虚 空间 空隙 xff0c 而在 C 语言中 xff0c void 被翻译为 34 无类型 34 xff0c 相应的void 为 34 无类型指针 34 void 似乎只有 34 注释 34 和限制程序
  • 指向void的指针

    万能指针 一个指向任何对象类型的指针都可以赋值给类型为void 的变量 xff0c void 可以赋值给另外一个void xff0c 俩个void 可以比较相等与否 xff0c 而且可以显式地将void 转换到另一个类型 其他操作都是不安全
  • void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)的一些理解

    GPIO TypeDef GPIOA BASE 表示将GPIOA BASE强制转换为指针类型的结构体 xff0c define GPIOA GPIO TypeDef GPIOA BASE 表示用 GPIO TypeDef GPIOA BAS
  • 使用“void_t”检查类是否具有具有特定签名的方法

    此刻 我是使用此方法检查类是否具有具有特定签名的方法 参加后Walter E Brown 的元编程 CppCon2014 演讲 我开始想知道是否void t可以在这种特殊情况下使用 以使代码更清晰 更具可读性 但是我很难思考void t 到
  • 等待 async void 方法

    我怎样才能等待async void方法来完成它的工作 例如 我有一个如下所示的函数 async void LoadBlahBlah await blah 现在我想确保在继续其他地方之前所有内容都已加载 最佳实践是标记功能async void
  • 在 c 中: func(void) 与 func() [重复]

    这个问题在这里已经有答案了 当 C 函数不接受任何参数时 是否必须按照语言规则使用 void 参数来声明 定义它 当参数列表中没有任何内容时 PC Lint 似乎会出现问题 我想知道这是否是我不知道的语言语法中的某些内容 Edit 我刚刚发
  • 类构造函数默认为 void 吗?

    我一直在阅读 C 中的类构造函数 示例显示重载类构造函数 而且他们所有人都没有void关键字并且它们都没有返回值 e g public Class myClass public myClass public myClass int id o
  • 什么是System.Void?

    我知道声明的方法void不返回任何内容 但似乎在 C 中 void不仅仅是一个关键字 而是一个真实的类型 void是一个别名System Void like int那是为了System Int32 为什么我不允许使用该类型 这没有任何意义
  • 为什么 C# 方法不返回值?

    很容易理解为什么method 返回一个值 但我无法理解不返回值的方法的概念 static void PrintName string firstName string lastName Console Writeline firstName
  • 为什么这个 Java 8 lambda 无法编译?

    以下 Java 代码无法编译 FunctionalInterface private interface BiConsumer
  • C中的void类型

    The void从各种不同的情况来看 C 中的 type 似乎很奇怪 有时它的行为就像普通的对象类型 例如int or char 有时它毫无意义 正如它应该的那样 看看我的片段 首先 你可以这样做似乎很奇怪declare a void对象
  • 如何使用.NET反射来确定方法返回类型(包括void)和参数?

    如何知道参数的个数和类型 如何知道返回类型 如何检查返回类型是否为void Use MethodInfo ReturnType http msdn microsoft com en us library system reflection
  • TypeScript 中未检查“void”返回类型 – 防止浮动承诺?

    在 TypeScript 3 9 7 中运行 这与编译器无关 const someFn gt void gt 123 我发现这个答案 https stackoverflow com a 12763878 2072165 这说明这是设计使然
  • C 语言中 sizeof(void) 等于 1? [复制]

    这个问题在这里已经有答案了 可能的重复 空洞的大小是多少 https stackoverflow com questions 1666224 what is the size of void 大家好 我正在使用 gcc 编译我的 C 程序
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void

随机推荐