类似于一维数组声明:ç二维数组静态初始化与保存大小
char arr[]={[0 ... RESERVED_CHARS-1]=' ',[RESERVED_CHARS]='\0'};
请指教如何/是否可能宣布这样的二维数组?
#define SAY_MAX_MSG_LEN 6
#define REP_MAX_MSG_LEN 8
char *var_msg_out[][3]={\
{" Say ",[][0 ... SAY_MAX_MSG_LEN+1]=' ','\0'},\
{" Reply ",[][0 ... REP_MAX_MGS_LEN+1]=' ','\0'}\
};
snprintf(var_msg_out[0][1],SAY_MAX_MSG_LEN,"hello");
printf("%s",var_msg_out[0]);
谢谢!
*“类似一维数组声明” *,这是一维数组有效的C? – 2014-09-06 12:25:44
@皮特斯:我也很惊讶。显然这是一个GCC扩展:https://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Designated-Inits.html(它也适用于Clang)。 – 2014-09-06 12:37:38