[英]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.