<分区>
我对以下代码有疑问:
int age = 20;
void * pointer;
pointer = alloc(sizeof(int), 0)
pointer = (void*) age;
它是如何工作的?
指针
的值是多少?
这段代码在行方面发生了什么:
pointer = (void*) age;
<分区>
我对以下代码有疑问:
int age = 20;
void * pointer;
pointer = alloc(sizeof(int), 0)
pointer = (void*) age;
它是如何工作的?
指针
的值是多少?
这段代码在行方面发生了什么:
pointer = (void*) age;
最佳答案
这段代码完全没有完成任何事情。
首先,您使用非标准分配方法分配了一个大小为 int
的指针。
然后,您将该指针指定为指向地址 0x14,该地址可能不包含任何有效信息,并且如果您试图取消引用它,则会给您一个 SEGFAULT。
第三,您泄漏了您为指针分配
的初始内存,这绝不是一件好事。
总的来说,这是一个非常糟糕的设计模式。
关于c++ - 设置 void * 指针等于一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12038368/