gpt4 book ai didi

c - 在 c 中有一个结构的 void* 成员是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:21 26 4
gpt4 key购买 nike

我不明白下面的神秘成员是什么属性:

typedef struct _myobject
{
long number;
void *mystery;
} t_myobject;

这个void 成员(member)是什么成员(member)?占用多少内存?我在哪里可以得到更多关于完成的信息(例如,为什么要使用 void 成员?)

编辑——将标题更新为 void*

最佳答案

void* 变量是指向内存中地址的“通用”指针。

mystery 字段本身占用内存中的 sizeof(void*) 字节,通常为 4 或 8,具体取决于您的系统(取决于您的虚拟机的大小)内存地址空间,更准确)。但是,它可能指向消耗不同内存量的其他对象。

一些用法示例:

int var;
char arr[10];
t_myobject obj;

obj.mystery = &var;
obj.mystery = arr;
obj.mystery = malloc(100);

关于c - 在 c 中有一个结构的 void* 成员是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24596468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com