void 与 void *

2023-05-16

void :无类型

  1. 对函数返回的限定
    当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。
    例如:void func(int a,char *b)。
  2. 对函数参数的限定
    当函数不允许接受参数时,必须使用void限定,这就是我们所说的第二种情况。
    例如:int func(void)。

void * :无类型指针

void 指针可以指向任意类型的数据,就是说可以用任意类型的指针对 void 指针对 void 指针赋值。

int *a;
void *p;
p=a;

如果要将 void 指针 p 赋给其他类型的指针,则需要强制类型转换,就本例而言:a=(int *)p。在内存的分配中我们可以见到 void 指针使用:内存分配函数 malloc 函数返回的指针就是 void * 型,用户在使用这个指针的时候,要进行强制类型转换,也就是显式说明该指针指向的内存中是存放的什么类型的数据 (int )malloc(1024) 表示强制规定 malloc 返回的 void 指针指向的内存中存放的是一个个的 int 型数据。

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

void 与 void * 的相关文章

  • void 与 void *

    void xff1a 无类型 对函数返回的限定 当函数不需要返回值值时 xff0c 必须使用void限定 xff0c 这就是我们所说的第一种情况 例如 xff1a void func xff08 int a char b xff09 对函数
  • 不能将类型“{ Change: (e: any) => void; }

    ts 子组件调用父组件发生报错 报错如图 原因 子组件传入的props参数类型不一致 span class token comment 原代码 span span class token keyword export span span c
  • C++ 指向 Void 的指针

    C 43 43 指向 Void 的指针 在 C 43 43 中 xff0c 不能将一种数据类型的变量地址赋值给另一种数据类型的指针 指针是int类型 int ptr 变量为双精度类型 double d 61 9 0 错误 无法将 doubl
  • JNIEXPORT void JNICALL Java_testdll_set(JNIEnv *, jclass, jint j) //i = j;

    例如程序testdll java xff0c 内容为 xff1a public class testdll static System loadLibrary 34 goodluck 34 public native static intg
  • 是否存在占用 0 字节的 C++ 类型

    我试图声明一个占用零字节的 C 变量 它在一个联合体中 我从 int 0 类型开始 我不知道这是否实际上是零字节 尽管 sizeof int 0 是 0 我需要一种更好的方法来声明 0 字节类型 并且希望可以将其类型定义为 nullType
  • void 是 C 中的数据类型吗?

    Is voidC 编程语言中的数据类型 如果可以 它可以存储什么类型的值 如果我们有int float char等等 来存储值 为什么void需要吗 而虚空的范围是多少 Void 被认为是一种数据类型 出于组织目的 但它基本上是一个关键字
  • 理解 void 指针

    In my answer https stackoverflow com a 46234805 2411320我提到取消引用void指针是一个坏主意 但是 当我这样做时会发生什么 include
  • 类构造函数默认为 void 吗?

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

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从函数返回哪种更正确的方法 void function blah some code OR void function blah some co
  • MSVC:为什么“extern void x;”是“非法使用类型'void'”吗?

    为什么这段代码 extern void x 导致 cl t555 c std c11 Za t555 c 1 error C2182 x illegal use of type void 这里什么是非法的 UPD 使用案例 cat t555
  • 将向量作为 void 指针传递给函数

    我有一个回调函数 需要一个void 作为传递参数的参数 我想将向量传递给函数 该函数将被多次调用 因此在回调过程完成后 我希望能够迭代所有已调用的元素push back 通过回调 static void cb void data vecto
  • decltype(void()) 中的 void() 是表达式还是函数类型?

    这是后续的this https stackoverflow com questions 39278200 is sizeofvoid a legal expression问题 更准确地说是评论this https stackoverflow
  • JavaScript“未定义”与“void 0”

    到底有什么区别undefined and void 0 哪个是首选 为什么 不同之处在于 某些浏览器允许您覆盖undefined 然而 void anything总是返回真实值不明确的 function undefined undefine
  • 递归 C void 函数和 return 关键字

    有人知道以下之间的内部区别 void RecFoo1 int bar if bar 0 return RecFoo1 bar 1 and void RecFoo2 int bar if bar 0 return return RecFoo2
  • 单元测试 - 如何测试仅插入日志消息的“void”方法(Serilog)

    我需要测试类型的方法void 它只是使用 LOG 框架在我的 LOG 变量上插入一条消息 Serilog https serilog net 参见实现示例 public class MyClass public MyClass ILogge
  • 将子程序的地址转换为 void 指针

    尽管函数指针大小并不总是与不透明指针大小相同 但可以使用 void 指针来转换函数位置吗 我已经搜索过不透明指针和转换函数指针 我发现函数指针和普通指针在某些系统上不一样 void fptr void void 0x00000009 is
  • TypeScript 中未检查“void”返回类型 – 防止浮动承诺?

    在 TypeScript 3 9 7 中运行 这与编译器无关 const someFn gt void gt 123 我发现这个答案 https stackoverflow com a 12763878 2072165 这说明这是设计使然
  • java.lang.Void 和 void 有什么区别?

    In API Void 类是一个不可实例化的占位符类 用于保存 对表示 Java 关键字 void 的 Class 对象的引用 什么是 不可实例化 占位符类 什么时候会java lang Void使用 如果类是 不可实例化的 那它有什么用呢
  • 为什么将未使用的返回值转换为 void?

    int fn void whatever void fn 是否有任何理由将未使用的返回值强制转换为 void 或者我认为这完全是浪费时间 David s answer https stackoverflow com questions 68
  • G++ 错误:“”的类型不完整

    我被迫使用第三方加密狗访问库 该库提供包含文件 sense4 h 其代码如下 if defined WINDOWS define WINAPI define CONST const typedef unsigned char UCHAR t

随机推荐