在结构体中传递指向数组的指针

4
我的函数'front'有什么问题吗? 我想传递指针到数组中的特定行以便读取/编辑它。
struct queue
{  
  char itens[LN][CL];
  int front,rear;
}; 


char *front(struct queue * pq)
{
  return pq->itens[pq->front+1][0];
}
2个回答

7

你目前返回的是单个字符char,而不是行指针。请删除[0]

char *front(struct queue *pq)
{
    return pq->itens[pq->front+1];
}

你确定这个能够在二维数组中运行吗?(更新:可以) - gzm0

5
您正在访问字符并未使用其地址。请使用以下方式:
&(pq->itens[pq->front+1][0])

请注意,外部括号是可选的。

这个答案和我的一样,同样有效。只是需要打更多的字。 - Carl Norum
@CarlNorum 是的,确实是个品味问题。 - gzm0
1
@gzm0 括号是不必要的。 - ouah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接