Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
声明并初始化一个指针数组,以在c中的两行中运行_C_Arrays - Fatal编程技术网

声明并初始化一个指针数组,以在c中的两行中运行

声明并初始化一个指针数组,以在c中的两行中运行,c,arrays,C,Arrays,我正在重新编码printf,我必须遵守一个规范,每行不超过80个字符,但我的函数指针数组不止这些,所以我想知道是否有办法分割函数指针数组的初始化和声明 这是我的数组 void (*tfnc[8]) (va_list *, s_struct *) = {conv_c, conv_s, conv_p, conv_id, conv_id, conv_u, conv_x, conv_X}; 对 将语句分解为多行有什么不对 void (*tfnc[8]) (va_list *, s_struct *)

我正在重新编码printf,我必须遵守一个规范,每行不超过80个字符,但我的函数指针数组不止这些,所以我想知道是否有办法分割函数指针数组的初始化和声明

这是我的数组

void (*tfnc[8]) (va_list *, s_struct *) = {conv_c, conv_s, conv_p, conv_id, conv_id, conv_u, conv_x, conv_X};


将语句分解为多行有什么不对

void (*tfnc[8]) (va_list *, s_struct *) 
      = {conv_c, conv_s, conv_p, conv_id, conv_id, conv_u, conv_x, conv_X};

仅供参考-更传统的编码风格如下:

typedef void tfnc_t (va_list*, s_struct*);

...

tfnc_t* tfnc [8] = 
{
  conv_c, 
  conv_s, 
  conv_p, 
  conv_id, 
  conv_id, 
  conv_u, 
  conv_x, 
  conv_X
};
是两行吗?否。

是不是有一句话更容易理解?是的,到目前为止,

在C中,你几乎可以按你想要的任何地方输入,除非在单词或字符串的中间。我不知道这是一种可能性。谢谢你,MyCI不知道我能写得像这样,我现在觉得哑巴,但是非常感谢你。
typedef void tfnc_t (va_list*, s_struct*);

...

tfnc_t* tfnc [8] = 
{
  conv_c, 
  conv_s, 
  conv_p, 
  conv_id, 
  conv_id, 
  conv_u, 
  conv_x, 
  conv_X
};