良い一日。cでリンクリストを使用して次のデータと前のデータを作成する方法を知っている人はいますか? リンクされたリストで前のデータを取得した後、NULL 値を取得しています。右のキーに移動すると (取得したいインデックスを渡す)、次のデータの取得に問題はありませんが、キーを左に移動すると、再度インデックスを渡して必要なデータを取得しても NULL 値です。これが私のサンプルの add と get リンク リストのコードです。
typedef struct samp{
int idx;
char *name;
struct samp *next;
}sampLink;
sampLink *head=NULL,tail=NULL,test;
int addList(int idx,char *name){
  sampLink *tryi=NULL;
  tryi=(sampLink*)calloc(1,sizeof(sampLink));
  tryi->idx=idx;
  tryi->name=strdup(name);
  tryi->next=NULL;
  if(head==NULL){
    head=tryi;
    tail=tryi;
  }else{
    tail->next=tryi;
    tail=tail->next;
  }
  return 0;
}
sampLink *getList(int idx){
do{
    if(idx==head->idx){
      return head;
    }
    head=head->next;
  }while(head!=NULL);
  return head;
}
moveRightの場合
void moveRight(){
int i=0;
test=getList(i);
i++;
}
左だけマイナス記号。誰かが私を助けてくれることを願っています.Thanks