Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| sei_cert_c_coding_standard [2019/08/06 21:05] – [2.3 PRE32-C. Do not use preprocessor directives in invocations of function-like macros] rpjday | sei_cert_c_coding_standard [2019/08/06 21:17] (current) – [3.5 DCL38-C. Use the correct syntax when declaring a flexible array member] rpjday | ||
|---|---|---|---|
| Line 54: | Line 54: | ||
| ==== 3.5 DCL38-C. Use the correct syntax when declaring a flexible array member ==== | ==== 3.5 DCL38-C. Use the correct syntax when declaring a flexible array member ==== | ||
| + | * The incomplete array type must be the last element within the structure. | ||
| + | * There cannot be an array of structures that contain a flexible array member. | ||
| + | * Structures that contain a flexible array member cannot be used as a member of another structure. | ||
| + | * The structure must contain at least one named member in addition to the flexible array member. | ||
| + | |||
| + | < | ||
| + | struct flexArrayStruct{ | ||
| + | int num; | ||
| + | int data[]; | ||
| + | }; | ||
| + | </ | ||
| ==== 3.6 DCL39-C. Avoid information leakage when passing a structure across a trust boundary ==== | ==== 3.6 DCL39-C. Avoid information leakage when passing a structure across a trust boundary ==== | ||