第十六天
第五十二,五十三,五十四,五十五和五十六集
第五十二集
文件包含
一個include命令只能指定一個被包含文件
文件允許嵌套,就是一個被包含的文件可以包含另一個文件。
文件名可以用尖括號或者雙引號括起來
但是兩種的查找方式不同。
條件編譯
沒有什么好說的,直接看視頻,
本章小結
我就直接貼圖吧,
第五十三集
結構的概述
無他,就是如此,一個結構體就是有許多不同的數據,
三種方法定義結構體類型變量都可以,大家記得就行。
結構的嵌套也就那樣,我就直接貼圖吧。
結構體變量的引用
和數組一樣,結構體的地址就是他第一個屬性的地址。
第五十四集
結構體變量的初始化
就是這樣的,沒有啥注意的
結構體數組
就是student[3]中的student[0],student[1],student[2],里面每個student[n]都是有num,name[20],sex等等上面這些東西
投票例題
這里小編直接給大家看答案吧,不想看跳過即可
小編之前是以為strcmp只能識別英文進行比較,但其實strcmp也能比較漢字,小編還以為只要識別到相同的字符就會直接輸出,但其實不是的,他識別到相同的字符不會直接輸出,會繼續識別知道不同或者完畢。
指向結構體類型數據的指針
和之前一樣,沒有什么變化,但是多個一個新的訪問形式
->就是這個,可以代替.,二者是一樣的作用。
第五十五集
結構指針變量作為函數參數
實戰演練講得很清楚,關于為什么用strcpy去將“fish.com”錄入,小編覺得就是stu.name=“fish.com”錯了,之前說了不能這樣的,后面小甲魚說的小編沒聽懂,不過也沒啥關系。
動態存儲分配
malloc函數
無他直接上圖
calloc函數
free函數
這些不懂沒事,畢竟我沒沒地方用,等以后要用的時候就會了。
鏈表
如同鏈子一般,一個接一個,每個結點都有一個存儲的元素和對接下一個節點的地址,就是這么簡單。
例子展示這里
head=head->next;這里大家應該能懂吧,就是形成順著鏈子一路下來的功能
建立動態鏈表
這里聽不懂沒關系,小編也是難以聽得思路清晰,要花一會去理解,不會沒關系,下一集那里他會解釋這個流程,看就好了。
第五十六集
上集的動態鏈表
這里小編用自己的話說下吧。
先開一個結點,然后p1和p2一起指向這個結點,聲明n=0,錄入數據給這個結點,然后讀取里面的數據,如果不是0,就執行n=n+1,判斷是否等于1,為什么要這個呢?我們保留疑問,很快說到,n=1的話,那就head=p1,好了,這里的話我們上面的疑問就可以說了,這個判斷是否等于1的作用就是用來確定第一個結點的,如果等于1,那就把p1現在的地址規定為head,head是鏈表的開頭。確定完是1,后面就不會成立這個條件了,然后p2賦個p1指向的地址,一起跟過來。好了確定完開頭,就要開始創結點了,我們先開一個新結點,這個是有一個命令的,大家直接用就好了,然后使p1指向他,然后錄入數據,和上次一樣判斷是不是0,不是0,把p2指向的那個結點的next(也就是指向下一個結點)賦值為p1此時指向的地址,搭建連接這個結點和下一個結點的橋梁,然后再把p2指向p1指向的地方,也就是把p2拉到剛剛新創的結點,p2建完橋就要過來,準備建下一個橋。繼續創新結點,判斷…如此反復直到錄入的數據為0。
大家可以看視頻再來看,視頻其實比我更好。大家要配合代碼看啊
實現鏈表的輸出
就是如此
對鏈表的刪除
大家看視頻能懂的
也是很清晰的。
總結
結構體變量的使用,鏈表的建立,輸出以及刪除
今天也就結束了,沒有什么了,喜歡的點點贊,作者也是初學者,可以大家一起交流,老手看到錯誤或者不好的地方,在評論區留言,作者我大大感謝!!