用戶自己建立數(shù)據(jù)類型(1).ppt_第1頁
用戶自己建立數(shù)據(jù)類型(1).ppt_第2頁
用戶自己建立數(shù)據(jù)類型(1).ppt_第3頁
用戶自己建立數(shù)據(jù)類型(1).ppt_第4頁
用戶自己建立數(shù)據(jù)類型(1).ppt_第5頁
已閱讀5頁,還剩112頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第9章用戶自己建立數(shù)據(jù)類型 9 1定義和使用結(jié)構(gòu)體變量9 2使用結(jié)構(gòu)體數(shù)組9 3結(jié)構(gòu)體指針9 4用指針處理鏈表9 5共用體類型9 6使用枚舉類型9 7用typedef聲明新類型名 9 1定義和使用結(jié)構(gòu)體變量 9 1 1自己建立結(jié)構(gòu)體類型9 1 2定義結(jié)構(gòu)體類型變量9 1 3結(jié)構(gòu)體變量的初始化和引用 9 1 1自己建立結(jié)構(gòu)體類型 用戶自己建立由不同類型數(shù)據(jù)組成的組合型的數(shù)據(jù)結(jié)構(gòu) 它稱為結(jié)構(gòu)體例如 一個學(xué)生的學(xué)號 姓名 性別 年齡 成績 家庭地址等項 是屬于同一個學(xué)生的 因此組成一個組合數(shù)據(jù) 如student 1的變量 反映它們之間的內(nèi)在聯(lián)系 9 1 1自己建立結(jié)構(gòu)體類型 structStudent intnum charname 20 charsex intage floatscore charaddr 30 由程序設(shè)計者指定了一個結(jié)構(gòu)體類型structStudent它包括num name sex age score addr等不同類型的成員 9 1 1自己建立結(jié)構(gòu)體類型 聲明一個結(jié)構(gòu)體類型的一般形式為 struct結(jié)構(gòu)體名 成員表列 類型名成員名 9 1 1自己建立結(jié)構(gòu)體類型 說明 1 結(jié)構(gòu)體類型并非只有一種 而是可以設(shè)計出許多種結(jié)構(gòu)體類型 例如structTeacherstructWorkerstructDate等結(jié)構(gòu)體類型各自包含不同的成員 9 1 1自己建立結(jié)構(gòu)體類型 說明 2 成員可以屬于另一個結(jié)構(gòu)體類型 structDate intmonth intday intyear structStu intnum charname 20 charsex intage structDatebirthday charaddr 30 9 1 1自己建立結(jié)構(gòu)體類型 說明 2 成員可以屬于另一個結(jié)構(gòu)體類型 9 1 2定義結(jié)構(gòu)體類型變量 前面只是建立了一個結(jié)構(gòu)體類型 它相當(dāng)于一個模型 并沒有定義變量 其中并無具體數(shù)據(jù) 系統(tǒng)對之也不分配存儲單元 相當(dāng)于設(shè)計好了圖紙 但并未建成具體的房屋 為了能在程序中使用結(jié)構(gòu)體類型的數(shù)據(jù) 應(yīng)當(dāng)定義結(jié)構(gòu)體類型的變量 并在其中存放具體的數(shù)據(jù) 9 1 2定義結(jié)構(gòu)體類型變量 1 先聲明結(jié)構(gòu)體類型 再定義該類型變量聲明結(jié)構(gòu)體類型structStudent 可以用它來定義變量structStudentstudent1 student2 結(jié)構(gòu)體類型名 結(jié)構(gòu)體變量名 9 1 2定義結(jié)構(gòu)體類型變量 1 先聲明結(jié)構(gòu)體類型 再定義該類型變量聲明結(jié)構(gòu)體類型structStudent 可以用它來定義變量structStudentstudent1 student2 student1 student2 9 1 2定義結(jié)構(gòu)體類型變量 2 在聲明類型的同時定義變量structStudent intnum charname 20 charsex intage floatscore charaddr 30 student1 student2 9 1 2定義結(jié)構(gòu)體類型變量 3 不指定類型名而直接定義結(jié)構(gòu)體類型變量其一般形式為 struct 成員表列 變量名表列 指定了一個無名的結(jié)構(gòu)體類型 9 1 2定義結(jié)構(gòu)體類型變量 1 結(jié)構(gòu)體類型與結(jié)構(gòu)體變量是不同的概念 不要混同 只能對變量賦值 存取或運算 而不能對一個類型賦值 存取或運算 在編譯時 對類型是不分配空間的 只對變量分配空間 9 1 2定義結(jié)構(gòu)體類型變量 2 結(jié)構(gòu)體類型中的成員名可以與程序中的變量名相同 但二者不代表同一對象 3 對結(jié)構(gòu)體變量中的成員 即 域 可以單獨使用 它的作用與地位相當(dāng)于普通變量 例9 1把一個學(xué)生的信息 包括學(xué)號 姓名 性別 住址 放在一個結(jié)構(gòu)體變量中 然后輸出這個學(xué)生的信息 解題思路 自己建立一個結(jié)構(gòu)體類型 包括有關(guān)學(xué)生信息的各成員用它定義結(jié)構(gòu)體變量 同時賦以初值輸出該結(jié)構(gòu)體變量的各成員 9 1 3結(jié)構(gòu)體變量的初始化和引用 includeintmain structStudent longintnum charname 20 charsex charaddr 20 a 10101 LiLin M 123BeijingRoad printf NO ld nname s nsex c naddress s n a num a name a sex a addr return0 includeintmain structStudent longintnum charname 20 charsex charaddr 20 a 10101 LiLin M 123BeijingRoad printf NO ld nname s nsex c naddress s n a num a name a sex a addr return0 includeintmain structStudent longintnum charname 20 charsex charaddr 20 a 10101 LiLin M 123BeijingRoad a num 10010 對 printf s n a 不對 includeintmain structStudent longintnum charname 20 charsex charaddr 20 a 10101 LiLin M 123BeijingRoad b a 對 structStudentb b num 對 includeintmain structStudent longintnum charname 20 charsex charaddr 20 a 10101 LiLin M 123BeijingRoad scanf ld 對 printf o 對 scanf ld s c s n 錯 includeintmain structDate intmonth intday intyear structStu intnum charname 20 charsex intage structDatebirthday charaddr 30 a b a birthday month 12 對 a age 10 b age 9 對 sum a age b age 對 例9 2輸入兩個學(xué)生的學(xué)號 姓名和成績 輸出成績較高學(xué)生的學(xué)號 姓名和成績解題思路 1 定義兩個結(jié)構(gòu)相同的結(jié)構(gòu)體變量student1和student2 2 分別輸入兩個學(xué)生的學(xué)號 姓名和成績 3 比較兩個學(xué)生的成績 如果學(xué)生1的成績高于學(xué)生2 就輸出學(xué)生1的全部信息 如果學(xué)生2的成績高于學(xué)生1 就輸出學(xué)生2的全部信息 如果二者相等 輸出2個學(xué)生的全部信息 includeintmain structStudent intnum charname 20 floatscore student1 student2 scanf d s f 不能加 printf Thehigherscoreis n if student1 score student2 score printf d s 6 2f n student1 num student1 name student1 score elseif student1 score student2 score printf d s 6 2f n student2 num student2 name student2 score else printf d s 6 2f n student1 num student1 name student1 score printf d s 6 2f n student2 num student2 name student2 score return0 9 2使用結(jié)構(gòu)體數(shù)組 9 2 1定義結(jié)構(gòu)體數(shù)組9 2 2結(jié)構(gòu)體數(shù)組的應(yīng)用舉例 9 2 1定義結(jié)構(gòu)體數(shù)組 例9 3有3個候選人 每個選民只能投票選一人 要求編一個統(tǒng)計選票的程序 先后輸入被選人的名字 最后輸出各人得票結(jié)果 9 2 1定義結(jié)構(gòu)體數(shù)組 解題思路 設(shè)一個結(jié)構(gòu)體數(shù)組 數(shù)組中包含3個元素每個元素中的信息應(yīng)包括候選人的姓名 字符型 和得票數(shù) 整型 輸入被選人的姓名 然后與數(shù)組元素中的 姓名 成員比較 如果相同 就給這個元素中的 得票數(shù) 成員的值加1輸出所有元素的信息 include includestructPerson charname 20 intcount leader 3 Li 0 Zhang 0 Sun 0 全局的結(jié)構(gòu)體數(shù)組 name count leader 0 Li 0 Zhang 0 Sun 0 intmain inti j charleader name 20 for i 1 i 10 i scanf s leader name for j 0 j 3 j if strcmp leader name leader j name 0 leader j count for i 0 i 3 i printf 5s d n leader i name leader i count return0 leader j count leader j count 1 intmain inti j charleader name 20 for i 1 i 10 i scanf s leader name for j 0 j 3 j if strcmp leader name leader j name 0 leader j count for i 0 i 3 i printf 5s d n leader i name leader i count return0 說明 1 定義結(jié)構(gòu)體數(shù)組一般形式是 struct結(jié)構(gòu)體名 成員表列 數(shù)組名 數(shù)組長度 先聲明一個結(jié)構(gòu)體類型 然后再用此類型定義結(jié)構(gòu)體數(shù)組 結(jié)構(gòu)體類型數(shù)組名 數(shù)組長度 如 structPersonleader 3 說明 2 對結(jié)構(gòu)體數(shù)組初始化的形式是在定義數(shù)組的后面加上 初值表列 如 structPersonleader 3 Li 0 Zhang 0 Fun 0 9 2 2結(jié)構(gòu)體數(shù)組的應(yīng)用舉例 例9 4有n個學(xué)生的信息 包括學(xué)號 姓名 成績 要求按照成績的高低順序輸出各學(xué)生的信息 解題思路 用結(jié)構(gòu)體數(shù)組存放n個學(xué)生信息 采用選擇法對各元素進行排序 進行比較的是各元素中的成績 includestructStudent intnum charname 20 floatscore intmain structStudentstu 5 10101 Zhang 78 10103 Wang 98 5 10106 Li 86 10108 Ling 73 5 10110 Fun 100 structStudenttemp constintn 5 inti j k 常變量 若人數(shù)變?yōu)?0 30 includestructStudent intnum charname 20 floatscore intmain structStudentstu 5 10101 Zhang 78 10103 Wang 98 5 10106 Li 86 10108 Ling 73 5 10110 Fun 100 structStudenttemp constintn 5 inti j k defineN5 注意temp的類型 printf Theorderis n for i 0 istu k score k j temp stu k stu k stu i stu i temp for i 0 i n i printf 6d 8s 6 2f n stu i num stu i name stu i score printf n return0 寫法上與普通變量一致 9 3結(jié)構(gòu)體指針 9 3 1指向結(jié)構(gòu)體變量的指針9 3 2指向結(jié)構(gòu)體數(shù)組的指針9 3 3用結(jié)構(gòu)體變量和結(jié)構(gòu)體變量的指針作函數(shù)參數(shù) 9 3 1指向結(jié)構(gòu)體變量的指針 指向結(jié)構(gòu)體對象的指針變量既可以指向結(jié)構(gòu)體變量 也可以用來指向結(jié)構(gòu)體數(shù)組中的元素 指針變量的基類型必須與結(jié)構(gòu)體變量的類型相同 例如 structStudent pt 9 3 1指向結(jié)構(gòu)體變量的指針 例9 5通過指向結(jié)構(gòu)體變量的指針變量輸出結(jié)構(gòu)體變量中成員的信息 解題思路 在已有的基礎(chǔ)上 本題要解決兩個問題 怎樣對結(jié)構(gòu)體變量成員賦值 怎樣通過指向結(jié)構(gòu)體變量的指針訪問結(jié)構(gòu)體變量中成員 include includeintmain structStudent longnum charname 20 charsex floatscore structStudentstu 1 structStudent p p stu 1 10101LiLinM89 5 p structStudentstu 1 structStudent p p stu 1 10101LiLinM89 5 p 說明 為了使用方便和直觀 C語言允許把 p num用p num來代替 p name等價于p name如果p指向一個結(jié)構(gòu)體變量stu 以下等價 stu 成員名 如stu num p 成員名 如 p num p 成員名 如p num 9 3 2指向結(jié)構(gòu)體數(shù)組的指針 例9 6有3個學(xué)生的信息 放在結(jié)構(gòu)體數(shù)組中 要求輸出全部學(xué)生的信息 解題思路 用指向結(jié)構(gòu)體變量的指針處理 1 聲明structStudent 并定義結(jié)構(gòu)體數(shù)組 初始化 2 定義指向structStudent類型指針p 3 使p指向數(shù)組首元素 輸出元素中各信息 4 使p指向下一個元素 輸出元素中各信息 5 再使p指向結(jié)構(gòu)體數(shù)組的下一個元素 輸出它指向的元素中的有關(guān)信息 includestructStudent intnum charname 20 charsex intage structStudentstu 3 10101 LiLin M 18 10102 ZhangFun M 19 10104 WangMin F 20 intmain structStudent p printf No Namesexage n for p stu pnum p name p sex p age return0 stu 0 stu 1 stu 2 intmain structStudent p printf No Namesexage n for p stu pnum p name p sex p age return0 p stu 0 stu 1 stu 2 intmain structStudent p printf No Namesexage n for p stu pnum p name p sex p age return0 p stu 0 stu 1 stu 2 intmain structStudent p printf No Namesexage n for p stu pnum p name p sex p age return0 p stu 0 stu 1 stu 2 9 3 3用結(jié)構(gòu)體變量和結(jié)構(gòu)體變量的指針作函數(shù)參數(shù) 將一個結(jié)構(gòu)體變量的值傳遞給另一個函數(shù) 有3個方法 1 用結(jié)構(gòu)體變量的成員作參數(shù) 例如 用stu 1 num或stu 2 name作函數(shù)實參 將實參值傳給形參 用法和用普通變量作實參是一樣的 屬于 值傳遞 方式 應(yīng)當(dāng)注意實參與形參的類型保持一致 2 用結(jié)構(gòu)體變量作實參 用結(jié)構(gòu)體變量作實參時 將結(jié)構(gòu)體變量所占的內(nèi)存單元的內(nèi)容全部按順序傳遞給形參 形參也必須是同類型的結(jié)構(gòu)體變量在函數(shù)調(diào)用期間形參也要占用內(nèi)存單元 這種傳遞方式在空間和時間上開銷較大在被調(diào)用函數(shù)期間改變形參 也是結(jié)構(gòu)體變量 的值 不能返回主調(diào)函數(shù)一般較少用這種方法 3 用指向結(jié)構(gòu)體變量 或數(shù)組元素 的指針作實參 將結(jié)構(gòu)體變量 或數(shù)組元素 的地址傳給形參 例9 7有n個結(jié)構(gòu)體變量 內(nèi)含學(xué)生學(xué)號 姓名和3門課程的成績 要求輸出平均成績最高的學(xué)生的信息 包括學(xué)號 姓名 3門課程成績和平均成績 解題思路 將n個學(xué)生的數(shù)據(jù)表示為結(jié)構(gòu)體數(shù)組 按照功能函數(shù)化的思想 分別用3個函數(shù)來實現(xiàn)不同的功能 用input函數(shù)輸入數(shù)據(jù)和求各學(xué)生平均成績用max函數(shù)找平均成績最高的學(xué)生用print函數(shù)輸出成績最高學(xué)生的信息在主函數(shù)中先后調(diào)用這3個函數(shù) 用指向結(jié)構(gòu)體變量的指針作實參 最后得到結(jié)果 本程序假設(shè)n 3 include defineN3structStudent intnum charname 20 floatscore 3 floataver 4個成員 輸入前3個成員值 計算最后成員值 intmain voidinput structStudentstu structStudentmax structStudentstu voidprint structStudentstu structStudentstu N p stu input p print max p return0 voidinput structStudentstu inti printf 請輸入各學(xué)生的信息 學(xué)號 姓名 三門課成績 n for i 0 i N i scanf d s f f f 輸入第1個成員值 輸入第2個成員值 stu 0 stu 1 stu 2 stu 10101 Li 788998 88 33 i 0 voidinput structStudentstu inti printf 請輸入各學(xué)生的信息 學(xué)號 姓名 三門課成績 n for i 0 i N i scanf d s f f f 輸入第1個成員值 輸入第2個成員值 stu 0 stu 1 stu 2 stu 10101 Li 788998 88 33 10103 Wang 98 58769 84 83 i 1 voidinput structStudentstu inti printf 請輸入各學(xué)生的信息 學(xué)號 姓名 三門課成績 n for i 0 i N i scanf d s f f f 輸入第1個成員值 輸入第2個成員值 stu 0 stu 1 stu 2 stu 10101 Li 788998 88 33 10103 Wang 98 58769 84 83 10106 Sun 8876 589 84 5 i 2 structStudentmax structStudentstu inti m 0 for i 0 istu m aver m i returnstu m stu 0 stu 1 stu 2 stu 10101 Li 788998 88 33 10103 Wang 98 58769 84 83 10106 Sun 8876 589 84 5 最大 返回 voidprint structStudentstud printf n成績最高的學(xué)生是 n printf 學(xué)號 d n姓名 s n三門課成績 5 1f 5 1f 5 1f n平均成績 6 2f n stud num stud name stud score 0 stud score 1 stud score 2 stud aver stud 10101 Li 788998 88 33 10103 Wang 98 58769 84 83 10106 Sun 8876 589 84 5 num name score aver stu 0 stu 1 stu 2 以上3個函數(shù)的調(diào)用 情況各不相同 調(diào)用input函數(shù)時 實參是指針變量 形參是結(jié)構(gòu)體數(shù)組 傳遞的是結(jié)構(gòu)體元素的地址 函數(shù)無返回值 調(diào)用max函數(shù)時 實參是指針變量 形參是結(jié)構(gòu)體數(shù)組 傳遞的是結(jié)構(gòu)體元素的地址 函數(shù)的返回值是結(jié)構(gòu)體類型數(shù)據(jù) 調(diào)用print函數(shù)時 實參是結(jié)構(gòu)體變量 形參是結(jié)構(gòu)體變量 傳遞的是結(jié)構(gòu)體變量中各成員的值 函數(shù)無返回值 9 4用指針處理鏈表 9 4 1什么是鏈表9 4 2建立簡單的靜態(tài)鏈表9 4 3建立動態(tài)鏈表9 4 4輸出鏈表 9 4 1什么是鏈表 鏈表是一種常見的重要的數(shù)據(jù)結(jié)構(gòu)它是動態(tài)地進行存儲分配的一種結(jié)構(gòu) head 1249 1249 A 1356 1356 1475 B 1475 C 1021 1021 D 0 頭指針 各結(jié)點地址不連續(xù) 各結(jié)點含有兩個部分 表尾 9 4 1什么是鏈表 鏈表是一種常見的重要的數(shù)據(jù)結(jié)構(gòu)它是動態(tài)地進行存儲分配的一種結(jié)構(gòu)鏈表必須利用指針變量才能實現(xiàn) structStudent intnum floatscore structStudent next a b c a結(jié)點 b結(jié)點 c結(jié)點 a next b next num score next 9 4 2建立簡單的靜態(tài)鏈表 例9 8建立一個如圖所示的簡單鏈表 它由3個學(xué)生數(shù)據(jù)的結(jié)點組成 要求輸出各結(jié)點中的數(shù)據(jù) a結(jié)點 b結(jié)點 c結(jié)點 num score next 9 4 2建立簡單的靜態(tài)鏈表 解題思路 a結(jié)點 b結(jié)點 c結(jié)點 num score next head head a next b next NULL c next NULL includestructStudent intnum floatscore structStudent next intmain structStudenta b c head p a num 10101 a score 89 5 b num 10103 b score 90 c num 10107 c score 85 head p head do printf ld 5 1f n p num p score p p next while p NULL return0 a結(jié)點 b結(jié)點 c結(jié)點 num score next head NULL p 相當(dāng)于p p head do printf ld 5 1f n p num p score p p next while p NULL return0 a結(jié)點 b結(jié)點 c結(jié)點 num score next head NULL p 相當(dāng)于p p head do printf ld 5 1f n p num p score p p next while p NULL return0 a結(jié)點 b結(jié)點 c結(jié)點 num score next head NULL p 相當(dāng)于p p head do printf ld 5 1f n p num p score p p next while p NULL return0 a結(jié)點 b結(jié)點 c結(jié)點 num score next head NULL p 相當(dāng)于p p head do printf ld 5 1f n p num p score p p next while p NULL return0 a結(jié)點 b結(jié)點 c結(jié)點 num score next head NULL p 相當(dāng)于p NULL 靜態(tài)鏈表 9 4 3建立動態(tài)鏈表 所謂建立動態(tài)鏈表是指在程序執(zhí)行過程中從無到有地建立起一個鏈表 即一個一個地開辟結(jié)點和輸入各結(jié)點數(shù)據(jù) 并建立起前后相鏈的關(guān)系 9 4 3建立動態(tài)鏈表 例9 9寫一函數(shù)建立一個有3名學(xué)生數(shù)據(jù)的單向動態(tài)鏈表 解題思路 定義3個指針變量 head p1和p2 它們都是用來指向structStudent類型數(shù)據(jù) structStudent head p1 p2 解題思路 用malloc函數(shù)開辟第一個結(jié)點 并使p1和p2指向它 p1 p1 p2 structStudent malloc LEN p2 解題思路 讀入一個學(xué)生的數(shù)據(jù)給p1所指的第一個結(jié)點 p1 scanf ld f p2 1010189 5 解題思路 讀入一個學(xué)生的數(shù)據(jù)給p1所指的第一個結(jié)點使head也指向新開辟的結(jié)點 head p1 p2 scanf ld f 1010189 5 解題思路 再開辟另一個結(jié)點并使p1指向它 接著輸入該結(jié)點的數(shù)據(jù) head p1 p2 1010189 5 解題思路 再開辟另一個結(jié)點并使p1指向它 接著輸入該結(jié)點的數(shù)據(jù) head p1 p2 1010189 5 p1 structStudent malloc LEN scanf ld f 1010390 解題思路 使第一個結(jié)點的next成員指向第二個結(jié)點 即連接第一個結(jié)點與第二個結(jié)點使p2指向剛才建立的結(jié)點 head p1 p2 1010189 5 p2 next p1 1010390 解題思路 使第一個結(jié)點的next成員指向第二個結(jié)點 即連接第一個結(jié)點與第二個結(jié)點使p2指向剛才建立的結(jié)點 head p1 p2 1010189 5 p2 next p1 1010390 p2 p1 解題思路 再開辟另一個結(jié)點并使p1指向它 接著輸入該結(jié)點的數(shù)據(jù) head p1 p2 1010189 5 1010390 解題思路 再開辟另一個結(jié)點并使p1指向它 接著輸入該結(jié)點的數(shù)據(jù) head p1 p2 1010189 5 1010390 p1 structStudent malloc LEN scanf ld f 1010785 解題思路 使第二個結(jié)點的next成員指向第三個結(jié)點 即連接第二個結(jié)點與第三個結(jié)點使p2指向剛才建立的結(jié)點 head p1 p2 1010189 5 1010390 1010785 p2 next p1 解題思路 使第二個結(jié)點的next成員指向第三個結(jié)點 即連接第二個結(jié)點與第三個結(jié)點使p2指向剛才建立的結(jié)點 head p1 p2 1010189 5 1010390 1010785 p2 next p1 p2 p1 解題思路 再開辟另一個結(jié)點并使p1指向它 接著輸入該結(jié)點的數(shù)據(jù) head p1 p2 1010189 5 1010390 1010785 解題思路 再開辟另一個結(jié)點并使p1指向它 接著輸入該結(jié)點的數(shù)據(jù) head p1 p2 1010189 5 1010390 1010785 p1 structStudent malloc LEN scanf ld f 解題思路 輸入的學(xué)號為0 表示建立鏈表的過程完成 該結(jié)點不應(yīng)連接到鏈表中 head p1 p2 1010189 5 1010390 1010785 NULL p2 next NULL include include defineLENsizeof structStudent structStudent longnum floatscore structStudent next intn structStudent類型數(shù)據(jù)的長度 structStudent creat void structStudent head p1 p2 n 0 p1 p2 structStudent malloc LEN scanf ld f p1總是開辟新結(jié)點p2總是指向最后結(jié)點用p2和p1連接兩個結(jié)點 intmain structStudent pt pt creat printf nnum ld nscore 5 1f n pt num pt score return0 9 4 4輸出鏈表 例9 10編寫一個輸出鏈表的函數(shù)print 100167 5 100387 100599 NULL p 解題思路 輸出p所指的結(jié)點使p后移一個結(jié)點 p 100167 5 100387 100599 NULL printf ld 5 1f n p num p score 100167 5 100387 100599 NULL p p next 解題思路 輸出p所指的結(jié)點使p后移一個結(jié)點 printf ld 5 1f n p num p score p 100167 5 100387 100599 NULL 解題思路 輸出p所指的新結(jié)點使p后移一個結(jié)點 printf ld 5 1f n p num p score p 100167 5 100387 100599 NULL p p next 解題思路 輸出p所指的新結(jié)點使p后移一個結(jié)點 printf ld 5 1f n p num p score p 100167 5 100387 100599 NULL p p next 解題思路 輸出p所指的新結(jié)點使p后移一個結(jié)點 printf ld 5 1f n p num p score p 相當(dāng)于p NULL voidprint structStudent p printf nThese drecordsare n n if p NULL do printf ld 5 1f n p num p score p p next while p NULL 9 7用typedef聲明新類型名 1 簡單地用一個新的類型名代替原有的類型名typedefi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論