簡體   English   中英

將數組指針傳遞給struct並訪問數組

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

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