1樓:堅持之藍色闊海
很高興為樓主解答,如果滿意,請採納!!
首先樓主的宣告和定義不一致:
宣告
定義
更正宣告部分為&e
更正完後呼叫 listsearch_l(l,3,30);
因為呼叫的函式的第三個引數為引用,不能直接用變數或者常量30
下面是主函式修改部分:
void main()
修改後就能正常了:
修改後的完整**也給你貼上
#include
#define size 5
using namespace std;
typedef int elemtype,status;
typedef struct lnode
lnode,*linklist;
void display(linklist l);
void main()
}void display(linklist l)
cout ++j; }if(!p||j>i) return 1; e=p->data; return 0; if(!p||j>i-1) return 0; s=(linklist)malloc(sizeof(lnode)); s->data=e; s->next=p->next; p->next=s; return 0; if(!(p->next)||j>i-1) return 0; q=p->next; p->next=q->next; e=q->data; free(q); return 0;} 2樓:花花浪客 你說的執行不了是指編譯通不過吧?是函式定義部分的問題,下面這個函式體的部分: ...... //下面這些是查詢 {...... 裡面的與函式的宣告 不相同,所以把實現部分的elemtype &e前面的&去掉,讓他和宣告一致就ok了 3樓: //下面這些是查詢 去掉這裡的& if(!p||j>i) return 1; e=p->data; return 0; //查詢操作:查詢元素40,30,並告訴使用者該元素是否存在, 查詢第3個元素} 連結串列必須知道頭指標在哪第一個紅圈是初始化指標 因為你剛開始定義連結串列指標的時候指標指向的是隨機的 所以只能初始化 第二個紅圈是第一次給連結串列分配空間 如果頭指標為空就把連結串列指標給頭指標 這倆個語句確實只執行一次 但我沒理解你話的意思 你的理解當然不對了。前一個頭 head 尾 tail ... include include include typedef struct student message stu struct student message static stu head null 建立一個節點,並賦予相應的數值 stu create link node char const... node p1 new node p2 new node head new node head next p1 p1 next p2 p2 next 0 這樣就建立了你說的 把p1接在頭指標後面,把p2接在p1後面的一個連結串列 頭指標,顧名思義,用來指示連結串列的開始處。頭指標並不存放資料,資料從...c語言連結串列問題,c語言連結串列的問題
c語言程式設計連結串列題,c語言程式設計連結串列題
c 建立連結串列