diff --git a/Software/Development/Language/C/GCC_扩展_数组初始化.md b/Software/Development/Language/C/GCC_扩展_数组初始化.md new file mode 100644 index 0000000..0fd91e0 --- /dev/null +++ b/Software/Development/Language/C/GCC_扩展_数组初始化.md @@ -0,0 +1,50 @@ +# GCC 扩展 之 数组初始化 + +* 示例 1: + +```cpp +#include + +int array[10] = +{ + [0 ... 9] = 0, + [8] = 8, + [2 ... 2] = 2, + [5 ... 7] = 5 +}; + +int main() +{ + int i = 0; + + for (i = 0; i < 10; i++) + printf("%d/n", array[i]); + return 0; +} +``` + +* 示例 2: + +```cpp +#include +struct StObErrorStringMap +{ + const char *jdbc_state; + const char *odbc_state; +}; + +struct StObErrorStringMap arr[10] = +{ + [0 ...9] = {(const char*)"HY000", (const char*)"S1000"}, + [1] = { (const char*)"HY001", (const char*)"S1000" }, +}; + +int main() +{ + int i = 0; + + for (i = 0; i < 10; i++) + printf("%s\n", arr[i].jdbc_state); + return 0; +} +```