将void*指针设置为等于整数

Setting void * pointer equal to an integer

本文关键字:于整数 整数 void 指针 设置      更新时间:2023-10-16

我对以下代码有一个问题:

int age = 20;
void * pointer;
pointer = alloc(sizeof(int), 0)
pointer = (void*) age;

它是如何工作的?

pointer的值是多少?

这段代码在以下行中发生了什么:

pointer = (void*) age;

这段代码完全没有完成任何任务。

首先,您使用非标准的分配方法为int大小分配了一个指针。

然后,您将指针分配给地址0x14,该地址可能不包含任何有效信息,如果您试图取消引用它,则会给您一个SEGFAULT。

第三,您泄漏了alloc为指针指定的初始内存,这从来都不是一件好事。

总的来说,这是一个非常糟糕的设计模式。