我有一个无效功能
void foo(int *ptr) {
//trying to allocate memory to hold 5 ints
ptr = malloc(sizeof(int)*5):
//I loop ptr and assign each with a value i =0 to 4;
}
Run Code Online (Sandbox Code Playgroud)
在主要功能我有这条线
int main() {
int *num;
//I called the function
foo(&(num));
free(num);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我得到munmap_chunk()无效的指针错误.我确实试图挖掘更多信息,但我无法弄清楚这一点.我知道这对那些在c工作的人来说是基本的.我以为我通过引用传递它应该工作,但事实并非如此.我是C的新手,到目前为止一直很头疼.
ptr是一个局部变量,生前与函数结束时,你需要一个指针,以改变为指针num在main
void foo(int **ptr) {
//trying to allocate memory to hold 5 ints
*ptr = malloc(sizeof(int)*5);
//I look ptr and assign each with a value i =0 to 5;
}
Run Code Online (Sandbox Code Playgroud)