我正在看一本书并自学 C。现在我正在尝试使用 bitArray 来查找特定数字下的素数数量。默认情况下,这本书给了我一个结构和一个以以下开头的函数:
typedef struct _seg {
int bits[256];
struct _seg *next, *prev;
} seg;
*seg whichseg(int j){
}
但是,这个函数 *seg Whichseg(int j){
在编译时抛出错误。我想知道它应该是 seg * 并在 seg 之后加一个星号吗?这个函数到底是什么意思,它是否使 j 自动成为 seg 结构?
谢谢大家:-)
最佳答案
您应该在 seg 之后添加 *,即 seg*
到目前为止,你的函数什么也没做,并且通过进行上述更改,编译器仍然会提示说值没有被改变。
我假设您想将 j 值放入节点中,并且我将其放在零位置的位数组中。
seg* whichseg(int j){
seg* segNode = malloc(sizeof(seg));
seg->bits[0]=j;
return seg;
}
关于C 结构体和指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18940382/