我正在看书并自学C。现在,我正在尝试使用bitArray查找特定数字下的素数。默认情况下,这本书为我提供了一个结构,并且函数以以下内容开头:

typedef struct _seg {
   int  bits[256];
   struct _seg *next, *prev;
} seg;

*seg whichseg(int j){

}


但是,此函数*seg whichseg(int j){在编译时将引发错误。我想知道它应该是seg *在段后加一个星吗?这个函数的确切含义是,它使j自动成为段结构吗?

谢谢你们 :-)

最佳答案

您应在段号后加上*,即seg*

到目前为止,您的函数什么也没做,通过进行上述更改,编译器仍然会抱怨说值没有被忽略。

我假设您想将j值放入您的节点中,并且将其放置在零位置的bits数组中。

seg* whichseg(int j){
       seg* segNode = malloc(sizeof(seg));
       seg->bits[0]=j;
       return seg;
}

10-08 08:21