cost 374 ms
C 中是否有靜態初始化靈活數組成員的標准方法?

[英]Is there a standard way to statically initialize flexible array members in C?

我需要在 memory 中靜態創建的數據結構,該結構由字符串向量表組成,有效地: 但是嘗試編譯它會導致error: initialization of flexible array member in a nested context 顯然,這在 GCC 中是可能的,根據GCC Manual: 6 ...

為 C 中結構的靈活數組成員賦值

[英]Assigning values to flexible array member of struct in C

我有一個結構表示 C 中的一個形狀,帶有一個靈活的頂點數組成員。 我有一個 function,它應該返回一個正方形。 我已嘗試通過多種方式執行此操作,但當我從靈活數組成員訪問頂點的 x 和 y 屬性時,我總是得到不正確的值。 我認為這是因為我沒有正確分配 memory。 我究竟做錯了什么? 我的結構 ...

Function 在 c 中生成結構實例

[英]Function to generate struct instances in c

我如何編寫一個 function 每次調用它時都會生成一個先前定義的結構的實例? 我敢肯定,因為這是一個簡單的問題,所以不需要上下文,但這就是我現在所擁有的。 我在用 gcc 編譯時得到了這個。 運行它時,我在一次 scanf() 后出現分段錯誤 ...

這個 C 程序是否定義了兩個結構定義,涉及一個靈活的數組成員?

[英]Is this C program with two struct definitions, involving a flexible array member, defined?

具有靈活數組成員的結構是可以聲明變量並且可以應用sizeof的類型,這一事實導致以下程序中出現異常行為。 文件fam1.c : 文件fam2.c : 該程序在編譯和運行時會發出令人驚訝的 output:$ clang -std=c17 -pedantic -Wall fam1.c fam2.c $ ...

檢測結構是否包含靈活的數組成員

[英]Detect that a struct contains a flexible array member

說我有這樣的結構 是否可以使用 SFINAE 檢測靈活的陣列成員? 至少,我可以構造一個不能用這樣的結構實例化的類模板: 如果我嘗試創建一個invalid_with_fam<foo> : 所以現在我想使用它,這樣我就可以禁用任何此類結構的模板。 由於這是一個非標准功能,我應該 ...

了解 malloc 和靈活的數組成員

[英]Understanding malloc and flexible array members

我很好奇malloc()是如何實際分配內存的。 我正在閱讀 KNKing 的 C 編程以供參考。 尤其是第 17 章。最初在本章中void *malloc(size_t size)被描述為分配size字節的內存塊並返回指向該內存塊的void *指針的函數。 動態分配字符串和數組的兩個主要應用程序。 ...

C 靈活的數組用另一種類型定義而不是 malloc

[英]C flexible array define with another type instead of malloc

靈活數組的一般用法是使用malloc來定義靈活數組。 我正在嘗試探索用另一個結構定義靈活的數組。 一個例子typedef struct { uint64_t header; size_t data_size; float data[]; } test_base_t; ty ...

數組模板兼容性的好模式是什么?

[英]What is a good pattern for array template compatibility?

我想創建具有可變長度元素數組的對象,並讓它們在基類/派生類意義上兼容。 在 C 中,可以在struct的末尾放置一個不確定的數組,然后只需 malloc 對象以包含完整的數組: 在 c++ 中,您似乎可以這樣做: 但: 你可以用一個通用的基類來做到這一點,但這有必要嗎? 我只想使用foo ...

“具有靈活數組成員的結構不應是結構的成員”的基本原理是什么?

[英]What is the rationale for "structure with flexible array member shall not be a member of a structure"?

C11,6.7.2.1 結構和聯合說明符,約束,3(添加了強調): 結構或聯合不應包含不完整或 function 類型的成員(因此,結構不應包含其自身的實例,但可包含指向其自身實例的指針),除非結構的最后一個成員具有超過一個命名成員可能有不完整的數組類型; 這樣的結構(以及任何包含,可能遞歸地, ...

如何繞過零大小的數組?

[英]How to get around zero-sized arrays?

在我正在使用的圖書館中,我發現了這樣的結構: 所以這是一個具有靈活長度數據的數據包,可以訪問每個字長。 但是標准說對象不能有零大小,因此編譯它會引發警告(“ISO C 禁止零大小數組”)。 我在 gcc 中編譯代碼,因此由於其擴展,這個零大小的數組 hack 會做得很好。 但是有什么辦法可以 ...

如何在堆棧上分配具有靈活數組成員的結構

[英]How to allocate a struct with a flexible array member on the stack

假設我們有一個以靈活數組成員結尾的結構: 如何在堆棧上分配這個結構(即內存在作用域結束時自動釋放)? 另外,如果len可以包含字段data的大小,那就太好了。 目前,我做的事情是: 但是,它很容易出錯。 使用alloca()可能會稍微好一點: 從那里,我可以定義一個這樣的宏: 並聲 ...

指向結構的不完整指針數組。 檢測到堆棧粉碎

[英]Incomplete pointer array to struct. Stack smashing detected

對於看起來很糟糕的代碼,我提前道歉。 這只是一個概念證明。 該程序的目的是填充“數據包”,但通過potmeter結構的可單獨訪問的指針。 該程序適用於完整類型的*potPointers[3] 。 它也適用於不完整類型*potPointer[] 。 但是在成功運行之后,我得到: 如何成功處理指向結構的 ...

靈活的數組成員,不必是最后一個

[英]Flexible array member without having to be the last one

我試圖弄清楚 C 中是否有一種解決方法可以在結構中擁有一個靈活的數組成員,這不是最后一個。 例如,這會產生編譯錯誤: 這不會產生錯誤: 但不起作用。 如果我有一個字節數組: data[6] = {1, 2, 3, 4, 5, 6}; 並將其轉換為rtu_t ,然后crc成員將等於0x0302 ,而不 ...

帶有新位置的 std::make_unique

[英]std::make_unique with placement new

我正在嘗試定義一個包含其大小的Data object,然后是數據的size字節。 就像是: 這行得通,我可以將其分配給新的位置: 我想創建一個std::unique_ptr<Data> ,並且作為一種好的做法,我更喜歡使用std::make_uinque ,而不是原始的new 。 是否 ...

Python Ctypes 0 大小的數組?

[英]Python Ctypes 0 sized array?

我已經為此查看了很多地方,並嘗試過使用 cast,但沒有成功。 我在 c 中有一個結構,例如: 我將如何調整 struct y 數組的大小? 我在 SO 上嘗試了此問題的其他類型( python ctypes 是否支持 size-0 數組? ),但不斷收到此錯誤。 ...

為什么對具有靈活數組成員的結構的初始化無效但對固定大小的數組成員有效?

[英]Why is this initialization of a structure with a flexible array member invalid but valid with an fixed size array member?

C 標准狀態(強調我的): 21示例 2聲明后: 結構 struct s有一個靈活的數組成員d 。 [...] 22 根據上述聲明: t2的初始化是無效的(並且違反了約束) ,因為struct s被視為不包含成員d 。 資料來源:C18,§6.7.2.1/20 + /21 我不明白“因為 ...

class 中具有多態性的靈活數組成員

[英]Flexible array member in class with polymorphism

在 C99 中你可以有類似的東西struct foo { int a; int data[]; }; 然后使用foo* f=(foo*)malloc(sizeof(foo)+n)分配一個數組長度為n的結構。 當 class 是具有虛函數的子類時,可以在 C++ 中做類似的事情嗎? ...

為什么在 cfg80211 掃描請求中將更多的 memory(比需要的)分配給具有靈活數組成員的結構?

[英]Why more memory (than being required) is allocated to a struct with flexible array member in cfg80211 scan request?

我正在學習 linux wifi 驅動程序,並且正在探索cfg80211子系統中的代碼以獲取掃描請求。 我不明白為什么以下struct分配的 memory 比需要的多。 或者,我無法理解要分配的memory的大小是這樣計算的。 該struct在include/net/cfg80211.h中定義:s ...


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