如何在c中传递函数之间的指针数组?



我是C和PRO*C的biginner,需要一些帮助。我有一个如下的结构:

  typedef struct pt_st{
   char (*s_no)[100];
   char (*s)[100];
    } pt_st;

我有一个函数像c_info调用post函数:

int c_info(pt_st ir_st)
{
int   li_result = 0;
li_result = post(ir_st.s_no)
} 

和post函数是:

int post(char *is_st)
{
//do something
}
当我编译我的程序时,我得到三个错误:
warning: passing arguments post from incompatible pointer type
warning: passing arguments post make integer from ponter without cast
warning: passing arguments post make ponter from integer without cast

有人知道我怎么能解决这个问题吗?

谢谢!

pt_st.s_nopt_st.s都声明了指向char数组的指针。

所以post()函数需要预期如下:

int post(char (*s_no)[100]);

如果int post(char * is_st)的定义不能更改,那么这样调用它:

pt_st s = ... /* some initialisation */
int result = post(*(s.s_no));

相关内容

  • 没有找到相关文章

最新更新