第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤提示 不允許使用不完整的類型 ?老是遇到這樣的問題,求指點

錯誤提示 不允許使用不完整的類型 ?老是遇到這樣的問題,求指點

冉冉說 2023-04-03 16:12:46
#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct info{int no;char name[20];int depno;int salary;}StaffBill;typedef struct LNode{StaffBill data;struct LNode * next;}LinkList;void CreateList(LinkList * &L, StaffBill a [], int n); //函數(shù)原型void DispList(LinkList * L);void CreateList(LinkList * &L, StaffBill a [], int n) //尾插法建鏈表L{LinkList * s, *r;int i;L = (LinkList *) malloc(sizeof(LinkList));r = L;for (i = 0; i < n; i++){s = (LinkList *) malloc(sizeof(LinkList));s->data = a[i];r->next = s;}r->next = NULL;}void DispList(LinkList * L) //輸出鏈表L{LinkList * p = L->next;while (p != NULL){printf("%d %s %d %d", p->data.no, p->data.name, p->data.depno, p->data.salary);p = p->next;}printf("/n");}void main(){struct StaffBill Info[3] = { {33541, "德維恩.韋德", 003, 115500}, //這里有錯誤提示:1 IntelliSense: 不允許使用不完整的類型 (具體在Info處){ 33677, "勒布朗.詹姆斯", 006, 150000 },{ 33431, "科比.布萊恩特", 024, 100000 } };LinkList * L;CreateList(L, Info[3], 3); //這里錯誤提示2 IntelliSense: 表達式必須是指向完整對象類型的指針 (info處)DispList(L);}
查看完整描述

1 回答

?
慕虎7371278

TA貢獻1802條經(jīng)驗 獲得超4個贊

void CreateList(LinkList * &L, StaffBill a[], int n) //尾插法建鏈表L

這里的第二個參數(shù)是這個結(jié)構(gòu)體數(shù)組,所以在實際調(diào)用過程中應(yīng)該以數(shù)組名來作為實參即main函數(shù)中調(diào)用時 直接寫成 CreateList(L, Info, 3)即可;此處你定義的結(jié)構(gòu)體數(shù)組就三個數(shù)據(jù)info[0];info[1]以及info[2] ,所以再調(diào)用CreateList函數(shù)時 使用info[3]會造成數(shù)組越界;另外就是 你整個程序中也有許多其他錯誤,下邊是我 改寫之后的,你可以做參考
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

typedef struct info
{
int no;
char name[20];
int depno;
int salary;
}StaffBill;

typedef struct LNode
{
StaffBill data;
struct LNode * next;
}LinkList;

LinkList *CreateList(StaffBill a[], int n); //函數(shù)原型
void DispList(LinkList *L);

LinkList *CreateList(StaffBill a[], int n) //尾插法建鏈表L
{
LinkList *s,*pHead,*pTail;
int i;

pHead = (LinkList *) malloc(sizeof(LinkList));
pTail = pHead;
pTail->next = NULL;

for (i = 0; i < n; i++)
{
s = (LinkList *) malloc(sizeof(LinkList));
s->data = a[i];

pTail->next = s;
s->next = NULL;
pTail = s;
}
return pHead;
}

void DispList(LinkList *L) //輸出鏈表L
{
LinkList* p = L->next;
while (p != NULL)
{
printf("%d %s %d %d\n", p->data.no, p->data.name, p->data.depno, p->data.salary);
p = p->next;
}
printf("\n");
}

void main()
{
StaffBill Info[3] = {
{33541, "德維恩.韋德", 003, 115500},
{ 33677, "勒布朗.詹姆斯", 006, 150000 },
{ 33431, "科比.布萊恩特", 024, 100000 }
};

LinkList *L = NULL;

L = CreateList(Info, 3); //注意這里的實參 為數(shù)組名,此時返回的是一個鏈表
DispList(L);
}

 


查看完整回答
反對 回復(fù) 2023-04-05
  • 1 回答
  • 0 關(guān)注
  • 478 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號