#include <stdio.h>
#include <stdlib.h>
struct myStruct
{
int number;
};
void
allocateMem(struct myStruct *struct1)
{
struct1 = malloc(sizeof(struct myStruct));
struct1->number = 500;
printf("struct1->number: %d\n", struct1->number);
}
int
main(int argc, char *argv[])
{
struct myStruct *struct1 = NULL;
allocateMem(struct1);
printf("number: %d\n", struct1->number);
return 0;
}
大家好,我需要您的帮助。
我想做的是使用堆空间而不是栈空间来分配一个结构体,而且我想在函数内部进行分配。无论我怎么弄,我总是得到一个段错误或几个编译器警告。
我在这里做错了什么,但我无法找出问题所在,我已经在StackOverflow和互联网上寻找与我的问题相关的示例或帖子,但我没有找到任何信息。
如果您能告诉我我做错了什么,或者只是指导我正确的方向,我将非常感激。
谢谢大家的快速和准确的回复。你们说得对,我需要一个指向指针的指针,由于您的帮助,我的代码现在可以工作了。