我如何调用正在使用我的结构的函数

问题描述 投票:-2回答:1
#include <stdio.h>
#include <stdlib.h>

#define MAX 10


typedef struct{
  int zadnji;
  int elementi[MAX];
} Lista;


void ubaci (int x, int pozicija_ubacivanja, Lista *pokLista) 
{
  int pozicija;
  if (pokLista->zadnji >= MAX-1)
    printf("Lista je puna!"); 
  else if ((pozicija_ubacivanja>pokLista->zadnji+1) || (pozicija_ubacivanja<0) )
    printf("Pozicija ne postoji!"); 
  else {
            for (pozicija=pokLista->zadnji; pozicija >= pozicija_ubacivanja; pozicija--)
                 pokLista->elementi[pozicija+1]= pokLista->elementi[pozicija];
            pokLista->zadnji++;
            pokLista->elementi[pozicija_ubacivanja] = x;
           }
}


void obrisi(int pozicija_brisanja, Lista *pokLista) {
  int pozicija;
  if ( (pozicija_brisanja>pokLista->zadnji ) || (pozicija_brisanja<0) )
    printf("Pozicija ne postoji!");
  else {
    pokLista->zadnji--;    
    for (pozicija=pozicija_brisanja; pozicija<=pokLista->zadnji; pozicija++)
       pokLista->elementi[pozicija] = pokLista->elementi[pozicija+1];

  }
}


int trazi (int x, Lista *pokLista) {
  int pozicija;
  for (pozicija=0; pozicija<=pokLista->zadnji; pozicija++)
     if (pokLista->elementi[pozicija] == x) return pozicija;
  return -1;
}




int main(int argc, char *argv[]) {
    int pozicija_ubacivanja;
    int pozicija_brisanja;
    int i,x,z,pozicija,temp;



    printf("Koji broj ubaciti ?");
    scanf("%d",&x);

    printf("Na koju poziciju ?");
    scanf("%d",&pozicija_ubacivanja);

    ubaci(x,pozicija_ubacivanja,Lista);



    printf("Koju poziciju obrisati ?");
    scanf("%d",&pozicija_brisanja);

    obrisi(pozicija_brisanja, Lista);



    printf("Koju element za pretraziti ?");
    scanf("%d",&z);
    trazi (z, Lista);
    temp = pozicija;
    printf("Pozicija je %d", temp);






    return 0;
}

所有功能和typedef均由教授提供,我的工作是编写程序的main()部分。在给他们打电话时,我得到了:[错误]'Lista'之前的期望表达式

了解调用这些函数时参数的外观。

请忽略这个看起来您的帖子大部分是代码;请添加更多详细信息。看起来您的帖子大部分是代码;请添加更多详细信息。看起来您的帖子大部分是代码;请添加更多详细信息。看起来您的帖子大部分是代码;请添加更多详细信息。请忽略此

c list function struct typedef
1个回答
2
投票

您已经创建了一个名为Lista的新类型,它现在代表您的结构。

在代码中此部分之后:

int main(int argc, char *argv[]) {
    int pozicija_ubacivanja;
    int pozicija_brisanja;
    int i,x,z,pozicija,temp;

您可以创建Lista的实例,

Lista lista;

例如,在此函数中传递lista的地址(使用&

 ubaci(x,pozicija_ubacivanja,&lista);
© www.soinside.com 2019 - 2024. All rights reserved.