簡體   English   中英

如何聲明指向無符號字符數組的全局指針並修改值?

[英]How can I declare a global pointer to unsigned char array and modify the value?

我的主要要求是聲明一個數組和一個指向它的指針,可以從我程序中的函數中讀取和寫入它們。 到目前為止,我已經做了類似的事情,(注意,我什至嘗試了使用指針到指針。

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將內存分配給數組或指針?

無需使用雙指針。 這很可能無法正常工作,因為另一個源文件沒有聲明array_ptr的文件的include 我認為最佳做法是創建一個globals.h文件,並在整個程序中引用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM