[英]Passing array pointer to struct and acces the array
我需要在結構中存儲一個指向char數組的指針,然后修改/訪問數組的內容。 我怎樣才能做到這一點?
我只能想到與此類似的東西,但是我無法獲得完整的可編譯解決方案。
struct foo {
unsigned char *array;
};
接着:
unsigned char array[512];
struct foo *foo;
foo->array = array;
在接收指向struct的指針的另一個函數中:
*(foo->array[0]) = 'K';
您的代碼幾乎可以:
foo->array[0] = 'K';
代碼*(foo->array[0])
在於,您嘗試取消引用甚至不是指針的char
。
您還需要為該結構分配內存-當前foo
指向某個隨機內存位置,在該位置訪問很可能會使您的程序崩潰:
struct foo *foo = malloc(sizeof(*foo));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.