void-pointers

    0熱度

    4回答

    說我希望使用void**作爲我的類型,在C.然後,而不是每次都重新寫入指針算術邏輯動態地分配一個數組,可以保存任何數據,即,我要簡單的函數,返回一個元素的地址。爲什麼我不能在賦值中使用這個函數(即,我可以設置,以及獲取元素的值)? 下面是一些示例代碼: #include <stdio.h> #include <stdlib.h> void printIntArray(void** array

    0熱度

    1回答

    我遇到以下問題。特別是,我試圖從傳遞給recvfrom()方法的buffer參數中提取uint32_t和char *。在這一點上,整數可以適當使用以下代碼來提取: recvfrom(s, buf, buffer_size, 0, (struct sockaddr*)&si_other, &slen); uint32_t recv_int = ntohl(*(int*)buf); char*

    0熱度

    1回答

    我創建了一個存儲函數及其參數類型的MemberFunctionWrapper模板類。它有一個調用方法,該方法接受void *的向量並在調用函數之前將它們轉換爲函數調用所需的參數類型。 我的問題是,包裝只能採取固定數量的函數參數 (_arg0,_arg1)。 我想讓該類採用任意數量的函數參數(arg0,arg1,arg2 ... argX)我該如何實現這一目標? 在此先感謝 class Foo {

    1熱度

    2回答

    我是C的新手,在使用和理解指針方面 - 特別是void指針時,我仍然很弱。我試圖編寫一個從文件加載數據的函數,並將這些數據存儲在一個void指針數組中,這樣數組的每個元素(在本例中)都具有該文件行中的字符串。我懷疑是有一些問題的代碼: 我不知道如果我正確使用* voidArray []作爲函數的參數之一。 我不確定strcpy()是否是將行緩衝區內容複製到相關數組元素的好方法。 我不知道strcp

    8熱度

    5回答

    我有一些代碼,從int到void *反之亦然(我不在乎它是否醜陋,我喜歡有通用的東西) 例子: typedef struct _List { long size; long mSize; // Max size void** elementArray; }List; List l; ... int i = 2; l.elementArray[i] = i;

    0熱度

    2回答

    我有一個3字節的變量,但由於C中沒有3字節變量,我使用長32位的變量。然後我只想在總線上發送3個字節。我以8位寬的外部RAM訪問總線。 要發送只有3個字節,我需要將長整型值分成2個字節(短)和1個字節(一個字符)。 我做的是: typedef union { unsigned char b[3]; unsigned long lng; } lng_array; void

    2熱度

    1回答

    我讀過幾篇文章,建議不要將int轉換爲void *或void *爲int。我需要設置一個指向特定地址的指針,並且我知道該怎麼做的唯一方法... #define MEMORY_ALLOC_START_ADDR 0x7E00 void * address = (void*)MEMORY_ALLOC_START_ADDR; 這是安全和'正確的'嗎?我只需要投入一個空白*而不是相反。我認爲分配它的唯

    0熱度

    2回答

    對不起,如果標題有點混亂,但我有一個問題,關於我的實體屬性系統。 當一個屬性被註冊,它的投入到這個unordered_map: std::unordered_map<std::string, void*> m_attributes; 下面是註冊使用它的屬性 void registerAttribute(const std::string& id, void* data) { m_a

    0熱度

    2回答

    我有像這樣的列表: void * head = [void * a] --> [void * b] --> [void * b] --> NULL 鑑於void * head,我怎麼能遍歷列表? 每個void *指向另一個void *,列表中的最後一項指向NULL。 我想我需要使用void **,但我不完全確定。列表中的每個項目都不在連續的內存中。

    1熱度

    1回答

    我構建了一個DirectX遊戲,其中我在Debug類中定義了一個Debug :: Log靜態函數。這只是在輸出/控制檯上打印傳遞參數的值。 我想實現一個函數,我可以將一個開始指針傳遞給數組(我想要打印),並打印數組中的所有元素。不過,我想讓函數在傳遞參數的類型時靈活一些。所以,我正在做這樣的事情.. static void DebugArray(void* pointerToArray) {