gpt4 book ai didi

c - 在 C 中的单独函数中初始化指针

转载 作者:太空狗 更新时间:2023-10-29 16:33:27 24 4
gpt4 key购买 nike

我需要做一件简单的事情,我曾经在 Java 中做过很多次,但我被困在 C 中(纯 C,而不是 C++)。情况是这样的:

int *a;

void initArray( int *arr )
{
arr = malloc( sizeof( int ) * SIZE );
}

int main()
{
initArray( a );
// a is NULL here! what to do?!
return 0;
}

我有一些“初始化”函数,它应该将给定的指针分配给一些已分配的数据(无关紧要)。我应该如何给出一个指向函数的指针,以便修改该指针,然后可以在代码中进一步使用(在该函数调用返回之后)?

最佳答案

你需要调整*a指针,这意味着你需要传递一个指向*a的指针。你这样做:

int *a;

void initArray( int **arr )
{
*arr = malloc( sizeof( int ) * SIZE );
}

int main()
{
initArray( &a );
return 0;
}

关于c - 在 C 中的单独函数中初始化指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2486235/

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