1

我的主要要求是声明一个数组和一个指向它的指针,可以在整个程序中从函数中读取和写入。到目前为止,我已经做了类似的事情,(注意,我什至尝试过使用指针到指针。

unsigned char *array_ptr;
unsigned char **array_ptr_ptr;
unsigned char array[20];

array_ptr = array;
array_ptr_ptr = &array_ptr;    

void main()
{
}

然后在另一个源文件中,我有一个函数

function(unsigned char *array_ptr)
{
    *array_ptr = value;
    array_ptr++;
    *array_ptr = value2;
}

我什至尝试使用指向指针的指针。

function(unsigned char **array_ptr_ptr)
{
    **array_ptr_ptr = value;
    array_ptr_ptr++;
    **array_ptr_ptr = value2;
}

我似乎无法成功写入值,甚至打印值也会给我带来问题。我也遇到分段错误。

另外,在我的情况下,我是使用 malloc 将内存分配给数组还是指针?

4

1 回答 1

0

不需要使用双指针。这很可能不起作用,因为另一个源文件没有声明include文件的文件array_ptr。我认为最佳做法是创建一个 globals.h 文件并在整个程序中引用它。

于 2012-11-19T01:40:50.467 回答